我试图显示google.com网站上的所有链接,并且在显示链接之后,我试图单击网站上的每个链接。我的代码是点击
以外的所有链接1)广告 2)商业 3)搜索如何工作
除上述链接外,请点击网站上的其他链接。
我的代码->
self.$viewModel.darkModeActivated
答案 0 :(得分:0)
@Bimlesh尝试时可能无法单击DOM中的某些元素。单击之前,请使用“显式等待”而不是Thread.sleep。这样可以解决您的问题。 例如: WebDriverWait wait =新的WebDriverWait(webDriver,timeoutInSeconds); wait.until(ExpectedConditions.elementToBeClickable(elementName));
答案 1 :(得分:0)
这些链接可能不存在或无法点击,如其他链接所述。使用类似这样的内容:
driver.manage().timeouts().implicitlyWait(20L, TimeUnit.SECONDS);
甚至更好
Wait<WebDriver> wait = new FluentWait<WebDriver>(driver)
.withTimeout(10, TimeUnit.SECONDS)
.pollingEvery(2, TimeUnit.SECONDS)
.ignoring(NoSuchElementException.class)
.withMessage("Wait timed out after 10 seconds");
wait.until(ExpectedConditions.presenceOfElementLocated(By.Id("..."))).click();