在 Mac 的 Safari 浏览器 10 上使用 Selenium Webdriver 无法选择下拉菜单

Kon*_*ani 6 java selenium-webdriver

在 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);
}
Run Code Online (Sandbox Code Playgroud)

san*_*mar 0

你能检查一下下面的代码在 Safari 中是否有效吗?

\n\n
WebElement dropdown = driver.findElement(By.xpath("//select[@id=\'profileItem_10536\']"));\nSelect sel = new Select(dropdown);\nsel.selectByVisibleText("Yes");\n
Run Code Online (Sandbox Code Playgroud)\n\n

如果代码在 Safari 中不起作用,但在其他浏览器中起作用,请告诉我...

\n\n

更新:

\n\n

如果您使用正确的驱动程序(由 Apple 提供),一切都应该在 Sierra 上正常工作。您不应该将 Selenium 的 SafariDriver 与 Safari 10 一起使用。

\n\n
\n

具体来说:

\n\n

“旧的 SafariDriver 实现不再维护,\n 不应使用。” “Safari 现在为\n WebDriver API 提供本机支持。从 OS X El Capitan 和 macOS\n Sierra 上的 Safari 10 开始,Safari 捆绑了由 Web 开发人员维护的\xe2\x80\x99s\n 新驱动程序实现Apple 的经验团队。” 另请注意:

\n\n

“Safari\xe2\x80\x99s WebDriver 支持默认关闭”

\n
\n\n

看来苹果提供了自己的 Safari 驱动程序,可以在

\n\n
\n

“/usr/bin/safaridriver”

\n
\n\n

请使用此驱动器。有关此的更多详细信息,请查看https://webkit.org/blog/6900/webdriver-support-in-safari-10/https://github.com/SeleniumHQ/selenium/issues/3145

\n\n

希望这对您有帮助。谢谢。

\n