【发布时间】:2017-08-18 11:28:05
【问题描述】:
我正在尝试针对亚马逊网站编写 Selenium 测试。我想获取“登录”元素,以便我可以点击它。
网址:www.amazon.es
这是我的 Selenium 代码:
System.setProperty("webdriver.gecko.driver","C:\\geckodriver-v0.18.0-win64\\geckodriver.exe");
WebDriver driver = new FirefoxDriver();
driver.get("https://www.amazon.es");
try
{
driver.findElement(By.id("nav-link-accountList")).click();
}
catch (Exception e)
{
System.out.println("Not Found");
}
有时代码可以正常工作,但有时找不到 ID“nav-link-yourAccount”。问题是什么?我该如何解决?
【问题讨论】:
-
添加一些隐式等待并重试
-
尝试使用一些implicitWait
driver.manage().timeouts().implicitlyWait(15, TimeUnit.SECONDS);让我知道它是否有效 -
您也可以使用预期条件使测试等待按钮变为可用stackoverflow.com/a/36596333/1501613
-
我添加了driver.manage()。超时()。 ImplicitlyWait (15, TimeUnit.SECONDS);正如您所说,但仍然无法正常工作。
-
@mvillegas 你有什么错误吗?
标签: java selenium selenium-webdriver