selenium定位class中含有某段文字的方法

<li data-testid="beast-core-pagination-prev" class="PGT_prev_5-88-0 PGT_disabled_5-88-0"><svg xmlns="http://www.w3.org/2000/svg" viewBox="0 0 1024 1024" data-testid="beast-core-icon-left" class="ICN_outerWrapper_5-88-0 ICN_svgIcon_5-88-0 " style="font-size: 12px;"><path d="M713.456 185.456c14.059-14.059 14.059-36.853 0-50.912-13.918-13.918-36.398-14.057-50.487-0.417l-0.425 0.417-352 352c-13.918 13.917-14.057 36.397-0.417 50.486l0.417 0.425 352 352c14.059 14.06 36.853 14.06 50.912 0 13.918-13.917 14.057-36.397 0.417-50.486l-0.417-0.425L386.912 512l326.544-326.544z"></path></svg></li>

PGT_next_5-88-0 PGT_disabled_5-88-0

匹配 class中含有 disabled 在selenium中如何定位元素

要在Selenium中定位那些class属性中包含"disabled"文本的元素,您可以使用CSS选择器或者XPath。考虑到您的需求,这里提供两种方法:

使用CSS选择器:

CSS选择器不直接支持搜索属性值中包含特定文本的功能,但您可以利用属性包含特定值的属性选择器([attribute*=value])来间接实现。不过,由于class属性可能包含多个类名,这种方法可能匹配到不完全符合预期的元素。尽管如此,这是一个简单的尝试:

复制代码
elements = driver.find_elements(By.CSS_SELECTOR, "[class*='PGT_disabled']")

这段代码会找到所有class属性中任意位置包含"PGT_disabled"字符串的元素。

使用XPath:

XPath提供了更精确的文本匹配功能,您可以使用XPath的contains()函数来定位那些class属性中包含特定文本的元素。这对于您的需求更加合适:

复制代码
elements = driver.find_elements(By.XPATH, "//*[contains(@class, 'PGT_disabled')]")

<li data-testid="beast-core-pagination-next" class="PGT_next_5-88-0 PGT_disabled_5-88-0"><svg xmlns="http://www.w3.org/2000/svg" viewBox="0 0 1024 1024" data-testid="beast-core-icon-right" class="ICN_outerWrapper_5-88-0 ICN_svgIcon_5-88-0 " style="font-size: 12px;"><path d="M310.544 185.456c-14.059-14.059-14.059-36.853 0-50.912 13.918-13.918 36.398-14.057 50.487-0.417l0.425 0.417 352 352c13.918 13.917 14.057 36.397 0.417 50.486l-0.417 0.425-352 352c-14.059 14.06-36.853 14.06-50.912 0-13.918-13.917-14.057-36.397-0.417-50.486l0.417-0.425L637.088 512 310.544 185.456z"></path></svg></li> 结合上面的代码,使用组合定位,包括:data-testid="beast-core-pagination-next",应该如何写?

复制代码
element = driver.find_element(By.XPATH, "//li[@data-testid='beast-core-pagination-next'][contains(@class, 'PGT_disabled')]")

以上定位可行。

相关推荐
测试界9 小时前
部署Web UI自动化测试平台:SeleniumFlaskTester
windows·selenium·flask
天才测试猿10 小时前
什么是单元测试?
自动化测试·软件测试·python·测试工具·职场和发展·单元测试·测试用例
Feng.Lee15 小时前
聊一聊RPC接口测试工具及方法
测试工具·rpc·lua
成成成成成成果16 小时前
电商支付异常测试全攻略
功能测试·测试工具·集成测试·模块测试·测试覆盖率·安全性测试·testlink
w_312345417 小时前
支持多网络协议的测试工具(postman被无视版)
网络协议·测试工具·postman·调试工具
软件测试-阿涛1 天前
【自动化测试】Python Selenium 自动化测试元素定位专业教程
开发语言·python·selenium·自动化
程序员三藏1 天前
软件测试之单元测试
自动化测试·软件测试·python·测试工具·职场和发展·单元测试·测试用例
阿赵3D1 天前
selenium自动化收集资料
python·selenium·测试工具·自动化
大博士.J1 天前
网页自动化脚本selenium防检测
运维·selenium·自动化