无法单击站点上的几个链接,其余的则可以使用Selenium单击

时间:2020-02-21 17:57:15

标签: java selenium selenium-webdriver

我试图显示google.com网站上的所有链接,并且在显示链接之后,我试图单击网站上的每个链接。我的代码是点击

以外的所有链接

1)广告 2)商业 3)搜索如何工作


除上述链接外,请点击网站上的其他链接。

我的代码->

self.$viewModel.darkModeActivated

2 个答案:

答案 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();