如何用Python+Selenium点击data-qtip属性值动态变化的元素
解决方案
- 方案1:仅筛选存在
data-qtip属性的对应class元素
如果你要定位的目标元素是所有class="item-context-link"的元素里,唯一带data-qtip属性的,直接用以下XPATH即可,不需要指定data-qtip的具体值:
对应代码://span[@class='item-context-link' and @data-qtip]# Selenium旧版本写法 driver.find_element_by_xpath("//span[@class='item-context-link' and @data-qtip]").click() # Selenium 4.0+ 推荐写法 from selenium.webdriver.common.by import By driver.find_element(By.XPATH, "//span[@class='item-context-link' and @data-qtip]").click() - 方案2:结合文本和
data-qtip属性匹配
从你给出的HTML结构可以看到,目标span的文本内容和data-qtip的属性值完全一致,如果其他同class元素不满足这个特征,可以用这个规则精准定位://span[@class='item-context-link' and text()=@data-qtip] - 方案3:结合父元素特征进一步缩小范围
目标span的父元素是href="javascript:void(0)"的a标签,如果前面的方案还有匹配到多余元素,可以加上父元素的筛选条件://a[@href='javascript:void(0)']/span[@class='item-context-link' and @data-qtip]
内容的提问来源于stack exchange,提问作者Bobby
相关产品推荐
相关产品推荐

