【问题标题】:How to write a locator for below code in selenium如何在 selenium 中为以下代码编写定位器
【发布时间】:2017-06-15 06:52:09
【问题描述】:

如何在 selenium 中为下面的 html 编写定位器。

<li class="slds-button slds-button--neutral slds-truncate" data-aura-rendered-by="4698:0">
    <a href="javascript:void(0);" title="New Contact" data-aura-rendered-by="4798:0" class="forceActionLink" data-aura-class="forceActionLink">
        <div class="slds-truncate" title="New Contact" data-aura-rendered-by="4799:0">New Contact</div>
    </a>
</li>

对于上面的代码,我尝试使用 Xpath、链接文本和类名定位器。 元素没有点击。请建议我为上面的 html 写一个定位器。

【问题讨论】:

  • 标签'a'的定位器?
  • 你能指定你想要定位的女巫标签吗?你的问题像这样不清楚。
  • 没有。对于新的联系按钮,我想点击但没有点击。
  • 那个联系按钮的标签是什么?让 HTML 突出显示其中的联系人按钮标签
  • @Thomas,在上面的 html 中我想写一个定位器来点击新的联系按钮。我尝试使用 xpath、链接文本和类名。

标签: java selenium


【解决方案1】:

你可以试试这个 Xpath *//div[@title="New Contact"]*//a/div[@title="New Contact"]

【讨论】:

  • 我有一个疑问。*//div[@title="New Contact"] 或 *//a/div[@title="New Contact"]。这是一个 xpath,或者我们可以用 2 种方式编写。
  • 不,这是两个不同的 Xpath,我们可以尝试任何一个
  • 我尝试了 2 件事。我遇到了错误。未知错误:元素在点 (754, 177) 处不可点击。其他元素会收到点击:
    ...
  • 请提出任何其他措施。
  • 只需在点击事件之前添加等待。
【解决方案2】:

你能试试下面的xpath吗,

driver.findElement(by.xpath("//div[contains(text(),'New Contact')]")).click();

我假设 html DOM 中只有一个“li”。如果不是请给我完整的 DOM。希望这可以帮助。谢谢。

【讨论】:

  • driver.findElement(by.xpath("//div[contains(text(),'New Contact']")).click(); 我试过上面的代码行它没有点击.
  • 你能告诉任何其他措施吗?
  • 哎呀。有一个错字,现在更正了。立即查看
  • 线程“主”org.openqa.selenium.WebDriverException 中的异常:未知错误:元素在点(754、177)不可点击。其他元素会收到点击:
    ...
    。为此我使用了动作类和 javascriptExecutor 仍然没有点击元素。
  • 好的。我明白了。在使用我的代码选择选项之前,我们需要确保该选项可见。我们需要单击下拉菜单以使该选项首先可见。你能检查一下DOM并写吗?
猜你喜欢
  • 1970-01-01
  • 2012-06-10
  • 1970-01-01
  • 2019-08-19
  • 1970-01-01
  • 1970-01-01
  • 2016-08-19
  • 2012-12-25
  • 1970-01-01
相关资源
最近更新 更多