如何在硒中使用函数结尾?

时间:2018-07-17 07:31:35

标签: python selenium xpath css-selectors ends-with

我查找了以下信息:lxml不支持xpath2.0,因此它不能使用end-with,因此硒不能使用end-with,如何使用它或替换end-with。确实非常感谢您!!!

HTML示例

<span id="xxxxx_close">wwwww</span>

'xxxxx'的{​​{1}}部分是随机的

2 个答案:

答案 0 :(得分:0)

ends-with XPath Constraint Function XPath v2.0 的一部分,但根据当前实现, Selenium 支持 XPath v1.0

根据您共享的 HTML ,以标识可以使用Locator Strategies之一的元素:

  • XPath使用contains()

    • xpathid属性使用包含

      driver.findElement(By.xpath("//span[contains(@id,'_close')]")).click();
      
    • xpathidinnerHTML属性使用包含

      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标签。