Selenium Web驱动程序无法单击具有本地化文本的链接

时间:2017-03-11 18:26:02

标签: java selenium xpath

我一直在尝试使用Selenium web驱动程序(我正在使用Java)来点击此元素:

<div class="nav_button proceed ready_button"><a href="" class=""><span data-localize="DIAGNOSIS_MPN_DIAGNOSIS" class="">MPN Diagnosis</span></a></div> 

div用于在链接上放置按钮图形。

我尝试过xPath并将其定位为“ABC诊断”的linkText,但都无法正常工作。 sendKeys(Keys.RETURN)技巧不适用于此链接。 Selenium IDE使用xPath,它在那里工作正常,但不适用于Web驱动程序。我不知道本地化的文本部分是否以某种方式绊倒了Web驱动程序。

我确实要确保元素可见。这没有问题。

更新:我发现了我的问题。请参阅下面的评论。

2 个答案:

答案 0 :(得分:1)

您是否尝试过以下xpath?

//a[contains(text(),'ABC Diagnosis')]
  

OR

//a[@data-localize="DIAGNOSIS_ABC_DIAGNOSIS"]

让我知道它是否适合你。

答案 1 :(得分:1)

我发现了这个问题。我没有意识到在尝试单击此按钮之前单击一个对话框是问题的一部分。显然有一个叠加层可以阻止用户在使用的对话框之外点击。我等待叠加层消失,现在点击效果非常好,带有xpath。相信这个资源让我意识到这个问题:https://jkotests.wordpress.com/2015/03/20/element-is-not-clickable-due-to-another-element-that-would-receive-the-click/