在过去的几个月里,我一直在使用Selenium来自动化一个非常枯燥但是工作中非常重要的部分,它涉及上传表单。硒蟒蛇 - 如何处理随机弹出?
最近,该网站实施了反馈调查,随机弹出并将驱动程序切换到新框架。我已经写了可以处理这个弹出的代码,并切换回我的默认框架,但问题是随机性。
有没有办法运行我的弹出式处理代码,尽快引发错误框架生成的异常?
我可以将我的整个脚本包含在try
和except
块中,但是如何指示脚本从停止的位置恢复?
任何意见是非常感谢!
在过去的几个月里,我一直在使用Selenium来自动化一个非常枯燥但是工作中非常重要的部分,它涉及上传表单。硒蟒蛇 - 如何处理随机弹出?
最近,该网站实施了反馈调查,随机弹出并将驱动程序切换到新框架。我已经写了可以处理这个弹出的代码,并切换回我的默认框架,但问题是随机性。
有没有办法运行我的弹出式处理代码,尽快引发错误框架生成的异常?
我可以将我的整个脚本包含在try
和except
块中,但是如何指示脚本从停止的位置恢复?
任何意见是非常感谢!
我在工作的网站上也遇到过这个问题。我在我们的网站上发现的是,它不是真正的随机,而是一个计时器。所以基本上它的工作方式是客户来到网站。如果他们没有被提示注册X,那么他们会得到一个弹出窗口。如果他们注册或解散了弹出窗口,则会编写一个cookie来跟踪他们已经收到该消息。您想要查找该跟踪cookie并重新创建它以防止弹出窗口。
我所做的是发现的cookie,重新创建它的网站域名(如example.com/some404page一些由页)的错误页面,然后启动脚本正常。它完全阻止了弹出窗口的发生。
要了解,如果这是你的情况下,导航到主页(或任何为宜),只是等待弹出。这会让你了解计时器的时间长短。关闭弹出窗口并重新加载页面。如果弹出不再发生,那么我猜这是同一个机制。
要找到饼干,清除Cookies在您的浏览器,然后重新打开您的网站。 (不要关闭弹出窗口)。我使用Chrome,因此我将介绍如何执行此操作。一般方法应该可以在其他浏览器中使用,但具体步骤和命令名称可能会有所不同。
弹出窗口出现后,您知道您删除的最后一个cookie是您需要重新创建的cookie。您现在可以编写一个快速函数,通过导航到dummy错误页面example.com/some404page并使用Selenium创建cookie,并创建cookie。在脚本开始时调用该函数。利润。
我遇到过类似的情况。
我向您推荐的是您的前端开发人员或提供反馈调查的公司,并要求他们提供脚本以禁用您运行的浏览器会话的弹出窗口。
然后,使用硒库(如JavascriptExecutor)执行脚本,只要您打开网页,以便您看不到随机出现的弹出窗口。
这几乎解决了我的问题!在我手动关闭弹出窗口后,我检查了浏览器Cookie并发现了一个设置为true的“InvitePresented”Cookie。如果我在脚本的开始处添加此cookie并将其设置为true,则不再显示弹出窗口!感谢您的洞察! – WhisperingZebra