gpt4 book ai didi

python - Selenium Python - 如何处理随机弹出窗口?

转载 作者:太空狗 更新时间:2023-10-30 01:32:00 24 4
gpt4 key购买 nike

在过去的几个月里,我一直在使用 Selenium 来自动化我工作中一个非常无聊但必不可少的部分,即上传表单。

最近,该网站实现了一项反馈调查,该调查会随机弹出并将驱动程序切换到新框架。我已经编写了可以处理此弹出窗口并切换回默认框架的代码,但问题在于随机性。

有没有一种方法可以在错误帧引发异常时立即运行我的弹出窗口处理代码?

我可以将我的整个脚本封装在 tryexcept block 中,但是我如何指示脚本从它停止的地方重新开始?

非常感谢任何建议!

最佳答案

我在自己工作的网站上也遇到过这种情况。我在我们的网站上发现,它并不是真正随机的,而是一个计时器。所以基本上它的工作方式是客户来到网站。如果没有提示他们注册 X,则会弹出一个窗口。如果他们注册或关闭弹出窗口,则会写入一个 cookie 来跟踪他们已经收到消息。您想要找到该跟踪 cookie 并重新创建它以防止弹出窗口。

我所做的是找到该 cookie,在站点域的错误页面上重新创建它(有些页面由 example.com/some404page 组成),然后正常启动脚本。它完全阻止了弹出窗口的发生。

要了解您是否属于这种情况,请导航至主页(或任何合适的页面)并等待弹出窗口。这将使您了解计时器的时长。关闭弹出窗口并重新加载页面。如果弹出窗口不再出现,那么我猜这是同一个机制。

要找到 cookie,请清除浏览器中的 cookie,然后再次打开您的网站。 (不要关闭弹出窗口)。我使用 Chrome,所以我将描述如何操作。一般方法应该适用于其他浏览器,但具体步骤和命令名称可能会有所不同。

  1. 打开开发工具 (F12)
  2. 导航到“应用程序”选项卡并找到 Cookie(左面板)
  3. 展开 Cookie 并单击您正在使用的站点的域。那里可能有很多来自其他网站的 cookie,具体取决于您的网站。
  4. 单击“全部清除”按钮清除所有 cookie。
  5. 关闭弹出窗口并观察要创建的 cookie。希望您会看到创建的一个或几个 cookie。
  6. 记下 cookie 的名称并一次删除一个,然后重新加载页面并等待 15 秒(或其他时间),然后查看是否出现弹出窗口。

一旦弹出窗口出现,您就知道您删除的最后一个 cookie 是您需要重新创建的 cookie。您现在可以编写一个快速函数,通过导航到虚拟错误页面 example.com/some404page 并创建 cookie,使用 Selenium 创建 cookie。在脚本的开头调用该函数。利润。

关于python - Selenium Python - 如何处理随机弹出窗口?,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/46776659/

24 4 0
Copyright 2021 - 2024 cfsdn All Rights Reserved 蜀ICP备2022000587号
广告合作:1813099741@qq.com 6ren.com