【问题标题】:How to convert this xpath to css?如何将此xpath转换为css?
【发布时间】:2012-11-27 21:02:51
【问题描述】:

如何将Xpath下面的这个改成css?请帮忙。

//button[text()='Continue' and @class='buttonLargeAlt' and @type='submit']

【问题讨论】:

    标签: selenium css-selectors selenium-rc selenium-webdriver


    【解决方案1】:

    很遗憾,你不能。

    问题是 CSS 选择器无法通过文本找到。因此,您不能将text()='Continue' XPath 转换为有效的CSS 选择器。这是 XPath 直到今天实际用于 HTML 元素选择的两个主要原因之一。

    在 CSS3 中有一个 :contains() 伪类,但它早已不复存在。不过,Selenium 中用于 CSS 选择的 JS 引擎 Sizzle 保留了它。所以如果你的浏览器不支持原生 CSS 选择(或者你禁用它),你可以像这样使用它:

    button.buttonLargeAlt:contains('Continue')[type='submit']
    

    【讨论】:

    • @Arran ...使用 Sizzle。或者,事实上,jQuery 团队编写了 Sizzle。但是是的:)。
    • +1 表示“很遗憾,你不能。”但是仅供参考,Selenium 在大多数情况下不使用 Sizzle,因此除非您确切知道它用于哪个浏览器版本,否则您不能指望 :contains 工作。
    【解决方案2】:

    我通常用这个cssify,这很酷

    【讨论】:

      猜你喜欢
      • 1970-01-01
      • 2013-03-21
      • 1970-01-01
      • 1970-01-01
      • 2012-05-11
      • 1970-01-01
      • 1970-01-01
      • 2010-12-21
      • 1970-01-01
      相关资源
      最近更新 更多