在函数中调用驱动程序时,如何在 Python3 中保持 Selenium Webdriver 浏览器打开?

克里斯

我有一个奇怪的问题,如果代码在函数或类中,我无法保持 Chrome webdriver 打开。即使我不调用驱动程序上的 quit() 函数。

这是功能

def driver_open():
   mobile_emulation = {"deviceName": "iPhone 6"}
   chrome_options = webdriver.ChromeOptions()
   chrome_options.add_experimental_option("mobileEmulation", mobile_emulation)
   driver = webdriver.Chrome(r"C:\Users\vaio\Dropbox\PyCharmProjects\Nagora\chromedriver.exe",                       
   desired_capabilities=chrome_options.to_capabilities())
   driver.get("https://www.youtube.com/")
   return

但是,如果我在一个函数外运行同一段代码,浏览器会保持打开状态,就像这样一个简单的脚本:

mobile_emulation = {"deviceName": "iPhone 6"}
chrome_options = webdriver.ChromeOptions()
chrome_options.add_experimental_option("mobileEmulation", mobile_emulation)
driver =webdriver.Chrome(r"C:\Users\vaio\Dropbox\PyCharmProjects\Nagora\chromedriver.exe",
                      desired_capabilities=chrome_options.to_capabilities())
driver.get("https://www.google.com/")

即使我在同一个 python 文件中运行这两段代码,Google 页面浏览器也会保持打开状态(因为代码在函数或类之外),而 YouTube 页面会在 DOM 完成加载时自动关闭。

我尝试了无数解决方案,但都没有奏效。

安科达斯公司

函数定义以 return 关闭,因此驱动程序变量也丢失了,但是当您在函数外执行此操作时,驱动程序定义仍然打开。

解决这个问题的方法是在启动 chromedriver 时使用 'detach' 选项。

在您的情况下添加:

chrome_options.add_experimental_option("detach", True)

使用 IDE 断点也可以实现相同的功能,但不推荐使用。

本文收集自互联网,转载请注明来源。

如有侵权,请联系[email protected] 删除。

编辑于
0

我来说两句

0条评论
登录后参与评论

相关文章

来自分类Dev

如何使用Selenium WebDriver for python在浏览器上打开新窗口?

来自分类Dev

如何使用 selenium WebDriver 和 python 打开功能齐全的 Chrome 浏览器?

来自分类Dev

如何让 selenium webdriver 停止打开浏览器?

来自分类Dev

如何在python3中保持程序打开

来自分类Dev

Python:Selenium Webdriver Chrome打开浏览器,但未打开所选站点

来自分类Dev

如何在Selenium Web驱动程序中打开任何其他浏览器之前停止Firefox浏览器的调用跨浏览器测试

来自分类Dev

Python Selenium:如何使浏览器窗口不打开

来自分类Dev

Python Selenium:如何使浏览器窗口不打开

来自分类Dev

无法在Python Selenium中重新打开浏览器

来自分类Dev

使用Selenium WebDriver和Python打开浏览器时出错

来自分类Dev

RedHat 6.8 上的 Selenium Webdriver + geckodriver + python 2.6.6 + Firefox 无法打开浏览器

来自分类Dev

无法使用 Selenium Webdriver 在浏览器中打开新选项卡

来自分类Dev

Selenium驱动程序无法打开浏览器窗口(Python)

来自分类Dev

Selenium驱动程序无法打开浏览器窗口(Python)

来自分类Dev

我们可以在python selenium webdriver中缩放浏览器窗口吗?

来自分类Dev

Selenium Python 浏览器=webdriver.Firefox() 错误

来自分类Dev

使用Selenium Webdriver的IE浏览器:“驱动程序可执行文件是目录”

来自分类Dev

如何使用Selenium WebDriver在同一浏览器的另一个选项卡上打开URL?

来自分类Dev

如何在Selenium中保存浏览器会话?

来自分类Dev

使用Selenium Python在同一浏览器中打开多个URL

来自分类Dev

如何在Capybara和Selenium中打开浏览器

来自分类Dev

Safari浏览器:Selenium Webdriver异常

来自分类Dev

如何在Cucumber + Selenium Webdriver + Page-Object中重新启动浏览器?

来自分类Dev

Python Selenium Webdriver Opera浏览器可以正确打开,但仅在地址栏和空白屏幕上显示“数据:”

来自分类Dev

无法使用给定的URL打开Firefox浏览器-Selenium Webdriver&Java

来自分类Dev

selenium WebDriver UrlChecker $ TimeoutException,打开浏览器,然后从不导航到链接

来自分类Dev

Selenium WebDriver可以在后台静默打开浏览器窗口吗?

来自分类Dev

如何通过拒绝Selenium Webdriver中的弹出窗口来关闭浏览器

来自分类Dev

如何通过拒绝Selenium Webdriver中的弹出窗口来关闭浏览器

Related 相关文章

  1. 1

    如何使用Selenium WebDriver for python在浏览器上打开新窗口?

  2. 2

    如何使用 selenium WebDriver 和 python 打开功能齐全的 Chrome 浏览器?

  3. 3

    如何让 selenium webdriver 停止打开浏览器?

  4. 4

    如何在python3中保持程序打开

  5. 5

    Python:Selenium Webdriver Chrome打开浏览器,但未打开所选站点

  6. 6

    如何在Selenium Web驱动程序中打开任何其他浏览器之前停止Firefox浏览器的调用跨浏览器测试

  7. 7

    Python Selenium:如何使浏览器窗口不打开

  8. 8

    Python Selenium:如何使浏览器窗口不打开

  9. 9

    无法在Python Selenium中重新打开浏览器

  10. 10

    使用Selenium WebDriver和Python打开浏览器时出错

  11. 11

    RedHat 6.8 上的 Selenium Webdriver + geckodriver + python 2.6.6 + Firefox 无法打开浏览器

  12. 12

    无法使用 Selenium Webdriver 在浏览器中打开新选项卡

  13. 13

    Selenium驱动程序无法打开浏览器窗口(Python)

  14. 14

    Selenium驱动程序无法打开浏览器窗口(Python)

  15. 15

    我们可以在python selenium webdriver中缩放浏览器窗口吗?

  16. 16

    Selenium Python 浏览器=webdriver.Firefox() 错误

  17. 17

    使用Selenium Webdriver的IE浏览器:“驱动程序可执行文件是目录”

  18. 18

    如何使用Selenium WebDriver在同一浏览器的另一个选项卡上打开URL?

  19. 19

    如何在Selenium中保存浏览器会话?

  20. 20

    使用Selenium Python在同一浏览器中打开多个URL

  21. 21

    如何在Capybara和Selenium中打开浏览器

  22. 22

    Safari浏览器:Selenium Webdriver异常

  23. 23

    如何在Cucumber + Selenium Webdriver + Page-Object中重新启动浏览器?

  24. 24

    Python Selenium Webdriver Opera浏览器可以正确打开,但仅在地址栏和空白屏幕上显示“数据:”

  25. 25

    无法使用给定的URL打开Firefox浏览器-Selenium Webdriver&Java

  26. 26

    selenium WebDriver UrlChecker $ TimeoutException,打开浏览器,然后从不导航到链接

  27. 27

    Selenium WebDriver可以在后台静默打开浏览器窗口吗?

  28. 28

    如何通过拒绝Selenium Webdriver中的弹出窗口来关闭浏览器

  29. 29

    如何通过拒绝Selenium Webdriver中的弹出窗口来关闭浏览器

热门标签

归档