无法在selenium Web驱动程序执行中单击链接文本

时间:2016-04-12 12:35:00

标签: eclipse selenium xpath selenium-webdriver automation

我正在尝试点击名为&#34的超链接;命令创建"在我的应用程序中。我使用了以下代码。当我在eclipse调试模式或selenium IDE中执行此步骤时,我可以单击特定链接。但是当我尝试在eclipse中通过Java模式执行时,我的代码无法单击这个链接。我们还有其他选项可以点击这个链接吗?(即等待和点击一下)enter image description here

Driver.findElement(By.xpath(//*[@href='link' and text()='Create Order'])).click();

3 个答案:

答案 0 :(得分:0)

您可以使用显式等待和预期条件elementToBeClickable来等待元素可点击

WebDriverWait wait = new WebDriverWait(Driver, 10);
wait.until(ExpectedConditions.elementToBeClickable(By.xpath("//*[@href='link' and text()='Create Order']"))).click();

答案 1 :(得分:0)

如果您的驱动程序在页面加载之前单击,则会出现同步问题 避免同步问题的最简单方法是使用通用等待,即隐式等待,它表示驱动程序实例在发送任何错误之前等待最大定义(时间秒)。

 yTrain <- data.frame("yTrain$V2" = rep("WALKING_UPSTAIRS", 3), 
           stringsAsFactors=FALSE, check.names=FALSE)

在上面的代码中,您告诉驱动程序实例在当前会话中等待最多20秒的时间。上面的注释等待适用于所有的元素。

答案 2 :(得分:0)

我在测试步骤之前使用过Thread.sleep(2000);。它解决了我的问题。