使用selenium和webdriver单击链接

时间:2017-07-13 14:34:12

标签: selenium webdriver

我一直在尝试对它执行硒任务:

this page中,有一个按钮,我必须点击它然后等待10秒钟。我是这样做的: 导航到页面:

base.driver.navigate().to("http://suvian.in/selenium/1.7button.html");

点击按钮:

//base.driver.findElement(By.xpath("/html/body/div[1]/div/div/div/div/h3[2]/a"));
        base.driver.findElement(By.linkText("Click Me"));

此步骤失败

等待10秒钟:

TimeUnit.SECONDS.sleep(waitTime);

问题

1 - 单击按钮失败。虽然,我要求找到xpathtext的链接但找不到它?

2 - 我的解决方案是否正确延迟了webdriver的活动?

1 个答案:

答案 0 :(得分:1)

  1. 尝试使用以下代码点击"点击我"按钮,试试我的本地: driver.findElement(By.xpath("//div[contains(@class,'intro-message')]")).findElement(By.partialLinkText("Click Me")).click();

    上述代码的说明:Thumb规则试图从DOM的父元素开始。在上面的帖子中,按钮的父元素是 div class = intro-message 。找到父元素后,接下来找到子元素。在您的情况下,它是带有链接文本的按钮' Click Me'。

  2.   

    // base.driver.findElement(By.xpath(" / HTML /体/格[1] / DIV / DIV / DIV / DIV / H3 [2] / A&#34));           base.driver.findElement(By.linkText(" Click Me"));

    另外,你写的方式不正确。如果在新的div或新按钮之间添加更多元素,则会失败。尽量避免这种情况。

    1. 对于当前情况,是的,您的等待方式是正确的。但对于其他用例,可能无法明确等待应用程序。