我查找了以下信息:lxml不支持xpath2.0,因此它不能使用end-with,因此硒不能使用end-with,如何使用它或替换end-with。确实非常感谢您!!!
HTML示例
<span id="xxxxx_close">wwwww</span>
'xxxxx'
的{{1}}部分是随机的
答案 0 :(得分:0)
ends-with
XPath Constraint Function是 XPath v2.0 的一部分,但根据当前实现, Selenium 支持 XPath v1.0 。
根据您共享的 HTML ,以标识可以使用Locator Strategies之一的元素:
XPath
使用contains()
:
xpath
对id
属性使用包含:
driver.findElement(By.xpath("//span[contains(@id,'_close')]")).click();
xpath
对id
和innerHTML
属性使用包含:
driver.findElement(By.xpath("//span[contains(@id,'_close') and contains(.,'wwwww')]")).click();
或者,您也可以如下使用 CssSelector :
css_selector
对<{1}}属性使用 ends-with(即$
通配符)子句:
id
driver.find_element_by_css_selector("span[id$='_close']").click();
对css_selector
属性使用包含(即*
通配符)子句:
id
答案 1 :(得分:0)
您可以套用CSS选择器:
By.cssSelector("[id$=_close]")
在CSS选择器搜索中也不需要包含span标签。