我一直在尝试对它执行硒任务:
在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 - 单击按钮失败。虽然,我要求找到xpath
和text
的链接但找不到它?
2 - 我的解决方案是否正确延迟了webdriver的活动?
答案 0 :(得分:1)
尝试使用以下代码点击"点击我"按钮,试试我的本地:
driver.findElement(By.xpath("//div[contains(@class,'intro-message')]")).findElement(By.partialLinkText("Click Me")).click();
上述代码的说明:Thumb规则试图从DOM的父元素开始。在上面的帖子中,按钮的父元素是 div class = intro-message 。找到父元素后,接下来找到子元素。在您的情况下,它是带有链接文本的按钮' Click Me'。
// base.driver.findElement(By.xpath(" / HTML /体/格[1] / DIV / DIV / DIV / DIV / H3 [2] / A&#34)); base.driver.findElement(By.linkText(" Click Me"));
另外,你写的方式不正确。如果在新的div或新按钮之间添加更多元素,则会失败。尽量避免这种情况。