【问题标题】:Writing xpath and CSS locator/path for Selenium Automated Test为 Selenium 自动化测试编写 xpath 和 CSS 定位器/路径
【发布时间】:2012-06-19 09:09:53
【问题描述】:

我有以下 HTML:

<input type="submit" style="-webkit-user-select:none;line-height:100%;height:30px" value="Advanced Search" class="jfk-button jfk-button-action adv-button">

我将 xpath 写为://input[@value='Advanced Search']

什么是 CSS 定位器/路径?

【问题讨论】:

标签: xpath selenium css-selectors firebug


【解决方案1】:

很难回答,因为最佳搜索选择器需要编写整个源代码,因为文档中的多个 DOM 元素可能会为通用选择器返回。 在这种情况下,更详细的选择器将是:

input.adv-button[value='Advanced Search']

【讨论】:

  • 我同意 Grooveek。 Selenium IDE 1.8 将 xpath 记录为://input[@value='Advanced Search'] Selenium IDE 记录的 xpath 与我手动读取的匹配
  • 您的选择器不正确。正确的 xpath://input[@value='Advanced Search' and contains(@class, 'adv-button')]。正确的 CSS:input.adv-button[value='Advanced Search']
【解决方案2】:

您可以使用以下网站将您的 xpath 转换为相应的 CSS Locator: http://cssify.appspot.com/

例如:

  1. 转到网站http://cssify.appspot.com/

  2. 将 XPath //input[@value='Advanced Search'] 插入文本字段

  3. 点击提交按钮,观察结果

  4. 可以看到对应的CSS Locator如下: 输入[value="高级搜索"]

【讨论】:

  • 由于某种原因,该站点不接受以下作为有效 XPath://div[starts-with(@id,'menuPanel')]
  • @NestorDRod:在这种情况下,您可以使用 cssSelector。或者,您可以使用绝对 xpath。
  • 嗯,是的,但我认为 cssify 网站背后的整个想法是帮助您将 XPath 语句转换为 CSS 选择器。我的陈述提到 cssify 不接受上述路径为有效的事实,即使 Selenium IDE 没有问题。
猜你喜欢
  • 2020-11-27
  • 2015-07-17
  • 1970-01-01
  • 1970-01-01
  • 2011-09-21
  • 2017-11-02
  • 2015-11-30
  • 2014-02-22
  • 2010-10-30
相关资源
最近更新 更多