获取em元素下的文本

博客讲述了在Python自动化测试过程中遇到的一个问题,即通过CSS选择器定位城市元素时,原本存在匹配的城市未被正确识别。作者发现错误在于比较元素对象而非其文本内容,通过修改代码为`cityEle.text`来比较解决了问题。这是一个新手常犯的小错误,但通过调试和理解元素属性,成功消除了这个障碍。
部署运行你感兴趣的模型镜像
        # 选择需要的城市
        cityEles = driver.find_elements_by_css_selector(
                    "#work_position_click_center_right_list_000000 em")
        target = None
        for cityEle in cityEles:
             # 如果城市相同,找到
             if cityEle == self.city:
                 target = cityEle
                 break

        # 如果没找到城市
        if target == None:
            input(f'{self.city}不在热门城市列表中,请手动点击选中城市后,按回车继续...')
        else:
            target.click()

结果:

明明有匹配关系,却报不在列表中

排查:

print()输出获取到的cityEles内容,发现并不是一个城市的名字,所以获取的内容不应该是元素本身,而应该获取em元素下的文本,加上text,所以以下这行代码:

if cityEle == self.city:

应该改成:

if cityEle.text == self.city:

新手小坑。

您可能感兴趣的与本文相关的镜像

Python3.11

Python3.11

Conda
Python

Python 是一种高级、解释型、通用的编程语言,以其简洁易读的语法而闻名,适用于广泛的应用,包括Web开发、数据分析、人工智能和自动化脚本

评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包
实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值