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

以上定位可行。

相关推荐
wdxylb18 小时前
Pyhton爬虫使用Selenium实现浏览器自动化操作抓取网页
爬虫·selenium·测试工具
码力码力我爱你2 天前
C++ WebDriver扩展
c++·selenium·测试工具
能摆一天是一天2 天前
Python 爬虫 根据ID获得UP视频信息
开发语言·爬虫·python·selenium
土小帽软件测试2 天前
fiddler抓包16_自动重定向(mock数据)
测试工具·fiddler·抓包·软件测试学习
Kakaxiii3 天前
UMLS的api调用(Postman)
人工智能·深度学习·测试工具·自然语言处理·postman
可遇_不可求3 天前
使用Charles进行Mock数据:高效提升前端交互测试效率
测试工具
NPE~3 天前
爬虫入门 & Selenium使用
爬虫·python·selenium·测试工具·xpath
sp_fyf_20243 天前
计算机前沿技术-人工智能算法-大语言模型-最新研究进展-2024-09-29
人工智能·深度学习·神经网络·测试工具·算法·语言模型·软件工程
吾爱星辰5 天前
【Kotlin基于selenium实现自动化测试】初识selenium以及搭建项目基本骨架(1)
java·开发语言·jvm·selenium·kotlin
小旺不正经5 天前
selenium过webdriver检测
python·selenium·测试工具