【发布时间】:2012-11-27 21:02:51
【问题描述】:
如何将Xpath下面的这个改成css?请帮忙。
//button[text()='Continue' and @class='buttonLargeAlt' and @type='submit']
【问题讨论】:
标签: selenium css-selectors selenium-rc selenium-webdriver
如何将Xpath下面的这个改成css?请帮忙。
//button[text()='Continue' and @class='buttonLargeAlt' and @type='submit']
【问题讨论】:
标签: selenium css-selectors selenium-rc selenium-webdriver
很遗憾,你不能。
问题是 CSS 选择器无法通过文本找到。因此,您不能将text()='Continue' XPath 转换为有效的CSS 选择器。这是 XPath 直到今天实际用于 HTML 元素选择的两个主要原因之一。
在 CSS3 中有一个 :contains() 伪类,但它早已不复存在。不过,Selenium 中用于 CSS 选择的 JS 引擎 Sizzle 保留了它。所以如果你的浏览器不支持原生 CSS 选择(或者你禁用它),你可以像这样使用它:
button.buttonLargeAlt:contains('Continue')[type='submit']
【讨论】:
:contains 工作。
我通常用这个cssify,这很酷
【讨论】: