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')]")

以上定位可行。

相关推荐
集成显卡1 小时前
PlayWright | 初识微软出品的 WEB 应用自动化测试框架
前端·chrome·测试工具·microsoft·自动化·edge浏览器
互联网杂货铺3 小时前
完美搭建appium自动化环境
自动化测试·软件测试·python·测试工具·职场和发展·appium·测试用例
测试老哥8 小时前
Jmeter如何进行多服务器远程测试?
自动化测试·软件测试·功能测试·测试工具·jmeter·测试用例·性能测试
鱼鱼说测试10 小时前
postman基础
测试工具·postman
程序员杰哥13 小时前
Postman常见问题及解决方法
自动化测试·软件测试·python·测试工具·职场和发展·测试用例·postman
小堃学编程16 小时前
Selenium常用函数介绍
selenium·测试工具
羊米奇16 小时前
selenium-自动更新谷歌浏览器驱动
selenium·谷歌浏览器驱动更新
2501_9153738816 小时前
Selenium 和playwright 使用场景优缺点对比
selenium·测试工具
笑口常开的小丸子16 小时前
Selenium 中 JavaScript 点击的优势及使用场景
javascript·selenium·测试工具