safari - Selenium - 禁用弹出窗口阻止程序

标签 safari selenium-webdriver selenium-grid popup-blocker

我刚刚花了几个小时在 SeleniumSafari 上停留,然后才发现我需要禁用弹出窗口阻止程序以允许我拥有的登录弹出窗口。

我的问题是,在使用 Selenium Grid 2 创建节点/webdriver 时,或者在代码中创建 RemoteWebDriver 时,有没有办法禁用弹出窗口阻止程序,或者两者都有?

否则,我必须手动记住通过自己打开浏览器来更改此设置。目的是让 Selenium 在多台机器上运行,因此能够以编程方式设置它会很棒。

最佳答案

好的,这是我最终编写的 AppleScript:

tell application "System Events" to tell process "Safari"
    set frontmost to true
    keystroke "," using {command down}  -- open preferences
    delay 1
    tell window "Security"
        tell group 1
            tell group 1
                click checkbox "Block pop-up windows"
            end tell
        end tell
        key code 53  -- close preferences
    end tell
end tell

如果您将它保存为popup.as,您可以像这样运行它:

$ osascript popup.as

请记住,这仅适用于本地,不适用于像 Sauce Labs 这样的云服务。

关于safari - Selenium - 禁用弹出窗口阻止程序,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/15095389/

相关文章:

html - :hover not rendering correctly in Safari

java - 无法从 Internet Explorer 动态 Web 表内的下拉列表中选择值

java - 如何使用 Selenium WebDriver java 从下拉列表中获取所有选项

java - Selenium Grid并行测试时如何让hub决定执行哪个节点?

java - 在 Selenium 中避免 NoSuchElementException 的最佳方法是什么?

android - Jwplayer:在 Android Chrome 和 iOs Safari 上设置自动启动

firefox - PNG 图像在 Chrome、FireFox 和 Safari 中呈现不同

Python Selenium-webdriver : for loop returning first element of the list throughout the loop

selenium - 管理 Selenium 网格队列

java - Selenium WebDriver 是否支持 Safari?