硒点击不总是工作

问题描述 投票:7回答:3

我有一些测试其点击选项卡上,但并不总是进行点击。

  • 该XPath是正确的,因为大部分的时间测试工程
  • 这不是一个时间问题,因为我已经使用了Thread.Sleep()等方法,以确保该元素点击之前是可见
  • 测试认为,它正在执行该点击“执行”点击时它不抛出ElementNotFoundException或任何其他异常。测试失败后后,因为标签内容的点击就不会改变。

进一步的信息我使用硒2.44.0在Java中实现测试它在Chrome 44.0.2403.107米长跑。

有没有别的东西,我可以做或可能这是硒的问题吗?

java google-chrome selenium selenium-webdriver click
3个回答
19
投票

有几件事情你可以试试:

  • 显式elementToBeClickable等待: WebDriverWait wait = new WebDriverWait(webDriver, 10); WebElement button = wait.until(ExpectedConditions.elementToBeClickable(By.id("myid"))); button.click()
  • 移动元素制作前点击: Actions actions = new Actions(driver); actions.moveToElement(button).click().build().perform();
  • 使通过JavaScript点击: JavascriptExecutor js = (JavascriptExecutor)driver; js.executeScript("arguments[0].click();", button);

0
投票

你可以用linkText去,如果标签名称中包含任何唯一的字符串。并确保您的标签是不是动态的。它应该是在源代码(手动的源代码(ctrl+u))可见。


0
投票

对我来说,下面的方法工作

WebElement button = SeleniumTools.findVisibleElement(By.cssSelector("#cssid"));

Actions actions = new Actions(driver);

actions.moveToElement(button).click().build().perform();
© www.soinside.com 2019 - 2024. All rights reserved.