有人可以帮助从事 Selenium WebDriver 工作的人吗?
我一直在尝试在 Mac 计算机上使用 Selenium WebDriver 自动化测试场景。当我将 Safari 定义为浏览器时,我收到错误 “使用给定的搜索参数无法在页面上找到元素”
,即使该元素存在于 Java 代码中的页面上 Issues/漏洞。
注意:当我们选择 Firefox 和 Chrome 作为浏览器时,可以找到相同的元素。有一些类似的答案,但没有一个是在谈论 Safari 浏览器和 Mac 机。
最佳答案
尝试稍等一下。使用流畅的等待如下:-
WebElement waitsss(WebDriver driver, By elementIdentifier){
Wait<WebDriver> wait =
new FluentWait<WebDriver>(driver).withTimeout(60, TimeUnit.SECONDS)
.pollingEvery(1, TimeUnit.SECONDS)
.ignoring(NoSuchElementException.class);
return wait.until(new Function<WebDriver, WebElement>()
{
public WebElement apply(WebDriver driver) {
return driver.findElement(elementIdentifier);
}
});
}
等待应该对你有用。如果问题仍然存在,则使用 JavascriptExecutor 。直接通过JS进行操作。它应该有效。我给出了一个使用 JavascriptExecutor
WebElement element = driver.findElement(By.id("gbqfd"));
JavascriptExecutor executor = (JavascriptExecutor)driver;
executor.executeScript("arguments[0].click();", element);
希望对你有帮助:)
关于selenium-webdriver - Selenium 代码不适用于在 Safari 中定位元素,但适用于 Firefox 和 Chrome,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/45479254/