Selenium代码不适用于在Safari中定位元素,在Firefox和Chrome中工作

时间:2017-08-03 08:47:58

标签: selenium-webdriver safaridriver

有人可以帮助谁在Selenium WebDriver上工作吗?

我一直在尝试使用Mac机器上的Selenium WebDriver自动化测试场景。当我将Safari定义为我的浏览器时,我收到错误"An element could not be located on the page using the given search parameters",即使这些元素存在于java代码问题/错误的页面上。

注意:当我们选择Firefox和Chrome作为浏览器时,可以找到相同的元素。有一些类似的答案,但他们都没有谈论Safari浏览器和Mac机器。

1 个答案:

答案 0 :(得分:1)

试着等一下。使用流利的等待如下: -

as

等待对你有用。如果问题仍然存在,请使用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); } }); } 。它将直接通过JS运作。它应该工作。我举例说明使用JavascriptExecutor

点击任何元素
JavascriptExecutor

希望它会对你有所帮助:)。