【问题标题】: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

【问题讨论】:

  • li:nth-child(n) != li[n]

标签: 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 选择器之间“转换”

【讨论】:

    猜你喜欢
    • 1970-01-01
    • 1970-01-01
    • 1970-01-01
    • 2011-07-11
    • 1970-01-01
    • 2013-02-14
    • 2023-03-17
    • 1970-01-01
    • 1970-01-01
    相关资源
    最近更新 更多