selenium - 在 Selenium Webdriver 中通过 xpath 查找元素或通过 css 查找元素哪个更好?

标签 selenium testing webdriver

<分区>

我使用find element by xpath来定位元素,发现它很有用,但是建议在使用Selenium Webdriver时使用find element by css。想知道哪个更好?

最佳答案

与任何事物一样,当涉及到此类选择时,事情是主观的。以下是我想从我自己的知识中传达的观点。

  • CSS 比 Xpath 更快
  • CSS 具有更好的跨浏览器兼容性
  • CSS 易于理解、学习和实现
  • 与 CSS 相比,Xpath 有点慢
  • Xpath 在每个浏览器中的实现可能不同,从而导致跨浏览器问题
  • Xpath 可能无法在旧版本的 IE 上正常工作
  • Xpath 难以理解和实现

从以上几点可以明显看出,CSS 优于 Xpath。 但是可能会出现一个问题,如果 CSS 比 Xpath 好,为什么 Xpath 仍然存在并被广泛使用。

AFAIK 这个大问题的答案是因为 Xpath 比 CSS 更强大。我遇到过仅使用 Xpath 而不是 CSS 就可以选择某些元素的情况。例如,

希望这能让您了解在何处使用 CSS 以及在何处使用 Xpath。 :)

关于selenium - 在 Selenium Webdriver 中通过 xpath 查找元素或通过 css 查找元素哪个更好?,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/35809985/

相关文章:

google-chrome - Selenium WebDriverException : unknown error: call function result missing 'value' while calling sendkeys method

java - Selenium cssSelector 在 IDE 中有效,但在 Webdriver 中无效

java - 使用 selenium webdriver 单击隐藏的 div 元素

java - 如何使用 Selenium Webdriver 将文本设置到 TextArea 中?

java - 使用 java 和 Selenium WebDriver 测试标题颜色

ios - Xcode项目测试和Pre-release内测的区别

c# - xUnit测试asp net core Mapper未初始化

unit-testing - TDD/单元测试 Windows 应用程序?

Python Selenium (Chrome Webdriver) - 根据值定义 URL

java - 无法在 Selenium Webdriver (JAVA) 中启动 Internet Explorer 或 Chrome