Ela*_*da2 6 java testing selenium webdriver selenium-webdriver
我在Mac和ubunto上运行自动化(使用黄瓜,硒Web驱动程序,junit)
在自动化过程中,我单击具有非http协议的链接
出现“外部协议请求”弹出窗口。
它阻止了我测试其余网页。
如何轻松绕过它?
我曾经想过可能写一个不做任何事的jar,然后将其注册到此外部协议中,但这无济于事,因为此弹出窗口仍会出现。
也许使用其他浏览器可以帮助您?
还有其他建议吗?
我正在将 chromedriver 与 selenium 和 python 一起使用。我遇到了同样的问题,以下代码对我有用-
driver.execute_script("window.confirm = function(msg) { return true; }")
prefs = {"protocol_handler.excluded_schemes":{"afp":True,"data":True,"disk":True,"disks":True,"file":True,"hcp":True,"intent":True, "itms-appss":True, "itms-apps":True,"itms":True,"market":True,"javascript":True,"mailto":True,"ms-help":True,"news":True,"nntp":True,"shell":True,"sip":True,"snews":False,"vbscript":True,"view-source":True,"vnd":{"ms":{"radio":True}}}}
chrome_options.add_experimental_option("prefs",prefs)
Run Code Online (Sandbox Code Playgroud)
比方说,要抑制协议处理程序弹出开始与“SIP://”链接
只需添加一个额外的条目"sip":True
中"protocol_handler.excluded_schemes"
您有 2 个可能的选择。
1)正在运行具有预定义配置文件的chrome,您已手动禁用协议处理(通过界面或配置文件)(配置文件设置中的“本地状态”文件,您应该在适当的部分添加“waze”:false,您可以搜索“mailto”即可知道它在哪里)。
2)另一种方法是在所有测试开始之前将设置放入测试的构造函数中(我将编写一个算法,因为它取决于您的框架和语言):
归档时间: |
|
查看次数: |
2810 次 |
最近记录: |