在Safari浏览器上,我需要从下拉列表中选择一个选项。下面的代码适用于除Mac OS上的Safari之外的所有浏览器。我正在使用Safari 10.1.1和Selenium Web驱动程序版本3.3.1,我用Java编写了代码。参考下面的代码-
webElement = findElement(field);
if (webElement.isDisplayed())
{
Select select = new Select(webElement);
select.selectByVisibleText(value);
}
5条答案
按热度按时间sq1bmfud1#
你可以试试这个代码:
bvuwiixz2#
你能检查,如果下面的代码在Safari中工作..
如果代码在Safari中不起作用,并且在其他浏览器中起作用,请告诉我...
更新:
如果您使用正确的驱动程序(由Apple提供),Sierra上的一切都应该正常工作。你不应该在Safari 10中使用Selenium的SafariDriver。
具体而言:
“旧的SafariDriver实现不再维护,不应使用。”“Safari现在提供对WebDriver API的本机支持。从OS X El Capitan和macOS Sierra上的Safari 10开始,Safari捆绑了一个新的驱动程序实现,由Apple的Web开发人员体验团队维护。”
“Safari的WebDriver支持在默认情况下关闭”
似乎苹果提供了自己的Safari驱动程序,它可以在
“/usr/bin/safaridriver”
请使用此驱动器。有关此方面的更多详细信息,请查看https://webkit.org/blog/6900/webdriver-support-in-safari-10/和https://github.com/SeleniumHQ/selenium/issues/3145
希望这对你有帮助。谢谢。
zvms9eto3#
在Java Selenium 3.141.59上,当使用Safari webdriver支持的默认Select时,也遇到了同样的问题,尝试单击Select web元素,然后单击目标选项......也不起作用,通过使用Javascript选择所需的选项,然后触发相关事件来模拟onchange操作来解决这个问题:
在我的例子中,如果不通过javascript(dispatchEvent)发送相应的事件,这将无法正常工作。
von4xj4u4#
Safari中没有任何下拉选择功能。作为一种变通方法,我在Selenium中使用了element.type(“”),它代替了Select。
eoxn13cs5#
选择是不工作的塞拉利昂10,12.6野生动物园11.0我尝试了下面,他们不工作,因为什么都没有发生,没有错误显示.
如果您尝试用途:发送键方法,然后填充选择选项。