【问题标题】:Selenium Webdriver C# :: CSS selector not working properly in Internet ExplorerSelenium Webdriver C# :: CSS 选择器在 Internet Explorer 中无法正常工作
【发布时间】:2016-01-12 14:44:44
【问题描述】:
我正在使用 Selenium C# 自动化网站。尝试使用 CSS 选择器单击元素时出现 NoSuchElementException。但是当我使用 xpath 时,一切正常。谁能帮我理解为什么我在使用 CSS 选择器时会遇到这个问题。
使用的 Xpath 值。
//*[@id="primary-navigation"]/ul/li[2]/a
使用的 CSS 选择器值。
#primary-navigation > ul > li:nth-child(2) > a
【问题讨论】:
标签:
css
selenium
xpath
selenium-webdriver
css-selectors
【解决方案1】:
xpaths li[2] 为您提供第二个 li 元素
css li:nth-child(2) 为您提供 li 元素,它是其父元素的第二个子元素
例如
<ul>
<p> something </p>
<li> this will be returned </li>
</ul>
这里的 xpath li[2] 将不返回任何内容(或错误/异常),因为只有一个 li 元素
但是 css li:nth-child(2) 将返回 li 元素,因为它是父 ul 的第二个子元素
所以很可能选择器工作正常,只是不能“直接”在 xpath 和 css 选择器之间“转换”