如何将此XPath转换为CSS?

3
如何将以下Xpath更改为css?请帮忙。
//button[text()='Continue' and @class='buttonLargeAlt' and @type='submit']
2个回答

6
很遗憾,你不能这样做。 问题在于CSS选择器无法通过文本查找。因此,你无法将text()='Continue' XPath转换为有效的CSS选择器。这是XPath直到今天仍然用于HTML元素选择的两个主要原因之一。 CSS3中有一个:contains()伪类可以实现此功能,但早已不再使用。然而,Selenium中用于CSS选择的JS引擎Sizzle仍保留了它。因此,如果你的浏览器不支持原生CSS选择(或者你禁用了它),你可以像这样使用它:
button.buttonLargeAlt:contains('Continue')[type='submit']

1
@Arran...使用Sizzle。事实上,jQuery团队_编写了_ Sizzle。但是没错 :)。 - Petr Janeček
1
很遗憾,你不能这样做。但是请注意,Selenium在大多数情况下不使用Sizzle,因此,除非你确切地知道它在哪些浏览器版本中使用它,否则你不能指望:contains能够正常工作。 - Ross Patterson


网页内容由stack overflow 提供, 点击上面的
可以查看英文原文,
原文链接