Selenium代码不适用于Safari和Firefox和Chrome中的元素定位

肖恩·马齐迪

可以为使用Selenium WebDriver的人提供帮助吗?

我一直在尝试在Mac机器上使用Selenium WebDriver自动化测试场景。当我将Safari定义为浏览器时"An element could not be located on the page using the given search parameters",即使该元素存在于Java代码Issues / Bug中的页面上,我也会出错

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

Shubham Jain

尝试稍等。使用流利的等待方式如下:

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);

希望它能对您有所帮助:)

本文收集自互联网,转载请注明来源。

如有侵权,请联系 [email protected] 删除。

编辑于
0

我来说两句

0 条评论
登录 后参与评论

相关文章

自定义元素适用于Safari,但不适用于Firefox和Chrome

JS适用于Firefox和Safari,但不适用于Chrome。这是我的网站

表格中网址的自动换行适用于chrome和safari,不适用于Firefox

单击切换适用于 Chrome 和 Safari 但不适用于 Firefox?

带load()的jquery-issue:适用于Firefox和Safari,不适用于Chrome,Opera和IE

脚本仅适用于 Chrome 和 Firefox 桌面,不适用于 Safari 和任何移动浏览器

CSS 动画仅适用于 Firefox 和 Chrome,但不适用于 Apple 设备(Safari?)

转换属性不适用于Firefox,但适用于Chrome和Safari。该怎么办?

显示:flex; 不适用于iPad(Chrome和Safari)

PHP排序不适用于Chrome和Safari

jQuery代码不适用于IE和Firefox

表单验证不适用于Chrome和Firefox

混合模式不适用于 Chrome,但在 Firefox 和 Chrome 中按预期工作

SVG 动画不适用于 mozilla,但适用于 chrome 和 safari

Python中的Selenium预期条件适用于Firefox,但不适用于Chrome

CSS @ font-face不适用于Firefox,但适用于Chrome和IE

jQuery Javascript仅适用于chrome和firefox,不适用于IE

Kerberos授权不适用于Chrome和FireFox,但适用于IE

Socket.IO适用于Firefox和Edge,但不适用于Chrome吗?

jQuery touch Punch适用于Chrome和Firefox,但不适用于IE

适用于chrome,但不适用于Firefox,Eventlistener,appendChild和style.backgroundColor

样式不适用于Firefox和IE中的SVG元素

Selenium / Firefox:命令“ .click()”不适用于找到的元素

Angular 网站适用于 Chrome,而不适用于 Firefox 或 Safari

CSS 动画目前仅适用于 Firefox,不适用于 Chrome 或 Safari

样式不适用于Safari / Firefox中的LitElement

JavaScript UTC 到本地时间的转换不适用于 IE 和 Firefox,但适用于 Chrome

元素和定位不适用

JavaScript 程序在 IE 中运行良好,但不适用于 firefox 和 chrome。填写IP地址