javascript - 如何使用 JavaScript 或 Selenium 检查页面上是否存在警报

标签 javascript python selenium

我正在制作一个机器人,这个机器人一直在搜索,但有时当它搜索时,会出现一个警告,要求用户访问他们的位置。我如何检查此警报是否存在或更好地禁用它?

到目前为止,我已经尝试通过 about:config 来禁用一些东西:

    var prefs = Components.classes["@mozilla.org/preferences- 
       service;1"].getService(Components.interfaces.nsIPrefBranch);

    prefs.setIntPref("network.cookie.cookieBehavior",  4);

    prefs.setBoolPref("privacy.donottrackheader.enabled", true); 

    prefs.setIntPref("permissions.default.geo", 2);

但警报仍然会弹出。我还尝试使用预安装的附加组件制作一个新的 firefox 配置文件,只是为了阻止对话框和弹出窗口,但它仍然给我对话框。

这次我是真的被难住了。如果您知道我如何检查页面是否正在使用 JS 或 Selenium python 发出警告,请告诉我此时的原因,这对我有很大帮助。如果您知道如何禁用 javascript 警报,那就太棒了。

最佳答案

您可以通过以下方式禁用警报:

window.alert = () => false

来自 python 那是:

driver.execute_script("window.alert = () => false")

关于javascript - 如何使用 JavaScript 或 Selenium 检查页面上是否存在警报,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/55316644/

相关文章:

javascript - 无法渲染js unicode字符 `\u1F310`

javascript - 可以使用 JavaScript 捕获窗口/选项卡关闭吗?

python - 如何在交互式 shell 中检查表达式的逻辑值?

python - 如何在给定完整路径的情况下导入模块?

Python Selenium 陈旧元素异常

Javascript从字符串中提取值

javascript - 使用 Javascript 的 Firebase 动态链接

python - 如何在 MongoDB $projection 中使用 $map

c# - 分组扩展方法

java - selenium 服务器在 firefox 中启动两个测试执行选项卡