Selenium4.6版本浏览器自动退出问题

这篇具有很好参考价值的文章主要介绍了Selenium4.6版本浏览器自动退出问题。希望对大家有所帮助。如果存在错误或未考虑完全的地方,请大家不吝赐教,您也可以点击"举报违法"按钮提交疑问。

Selenium4.6版本浏览器自动退出问题

代码

from selenium import webdriver
driver = webdriver.Chrome()
driver.get('https://www.baidu.com') # 这一步其实没必要,只是为了演示

现象

  • 打开百度后chrome浏览器就关闭掉了

  • 代码的控制台并无任何报错

  • 正常应该保留的

环境

  • python 3.10.8
  • pycharm 2021.2.3
  • chrome 107.0.5304.122
  • chromedriver 107.0.5304.18
  • selenium 4.6.1

分析

  • 这个问题在之前的版本中几乎没遇到过,这一期的学员很多都反馈有该问题,推测应该是新版本导致的
    • python 没有变化,排除
    • pycharm 更没有变化(脱离pycharm运行一样报错,排除)
    • chrome 更新了
    • chromedriver 更新了
    • selenium 更新了

尝试1: 分析日志

  • 获取selenium的日志

  • 代码

    from selenium import webdriver
    driver = webdriver.Chrome(service_args=['--verbose'],service_log_path='selenium.log')
    driver.get('https://www.baidu.com')
    
  • 差异日志: 对比正常的环境有2行比较异常

    [1669339280.964][INFO]: [9a850cc416a680214e963aab4064f86b] COMMAND QuitAll {}
    [1669339281.111][INFO]: [9a850cc416a680214e963aab4064f86b] RESPONSE QuitAll
    
  • 不得法

尝试2: stackoverflow

https://stackoverflow.com/questions/74567988/browser-quit-automatically-by-using-selenium-on-chrome

  • 提交到stackoverflow上,有人建议

    from selenium.webdriver.chrome.service import Service
    from selenium.webdriver.chrome.options import Options
    
    options = Options()
    options.add_experimental_option("detach", True)
    
    driver = webdriver.Chrome(service=Service(<chromedriver.exe path>), options=options)
    
  • 这是实验性质的option

  • 融合到代码中

    from selenium.webdriver.chrome.service import Service
    from selenium.webdriver.chrome.options import Options
    from selenium import webdriver
    options = Options()
    options.add_experimental_option("detach", True)
    
    driver = webdriver.Chrome(options=options)
    driver.get('https://www.baidu.com')
    
  • 效果是ok的

  • 但以前是ok的,现在这么麻烦,对初学者并不友好

尝试3: 对比分析

  • 对比之前好的环境,发现差异主要是浏览器、驱动和selenium,把浏览器和驱动都同步到最新版本,环境依然是好的,那差异只有selenium版本(有问题的是selenium 4.6.1,好的版本是selenium4.3.0)

  • 降级版本: 如果你是虚拟环境,请注意执行位置

    pip uninstall selenium
    pip instsall selenium==4.3.0  
    
  • 再次运行代码,也OK了。

  • 感觉是selenium4.6配合chromedriver驱动出现的问题,firefox在selenium4.6的时候没有该问题。文章来源地址https://www.toymoban.com/news/detail-787655.html

到了这里,关于Selenium4.6版本浏览器自动退出问题的文章就介绍完了。如果您还想了解更多内容,请在右上角搜索TOY模板网以前的文章或继续浏览下面的相关文章,希望大家以后多多支持TOY模板网!

本文来自互联网用户投稿,该文观点仅代表作者本人,不代表本站立场。本站仅提供信息存储空间服务,不拥有所有权,不承担相关法律责任。如若转载,请注明出处: 如若内容造成侵权/违法违规/事实不符,请点击违法举报进行投诉反馈,一经查实,立即删除!

领支付宝红包 赞助服务器费用

相关文章

  • 浏览器常用基本操作之python3+selenium4自动化测试(基础篇)

    1、打开指定的网页地址 我们使用selenium进行自动化测试时,打开浏览器之后,第一步就是让浏览器访问我们指定的地址,可使用get方法实现 1 2 3 from selenium import webdriver driver = webdriver.Edge() driver.get( \\\'https://www.baidu.com/\\\' )   # 本行用于访问指定的地址 2、获取当前页面url 我们在

    2024年02月01日
    浏览(71)
  • 解决selenium打开Chrome浏览器自动退出的问题

    好不容易安装好selenium和对应的浏览器驱动器后终于可以运行程序了,结果发现一运行程序后浏览器打开就自动退出了,但是我在Python代码中并没有写driver.quit()方法,上网查了查发现原来是我的selenium版本是4.8.2的,selenium升级到版本4.7.2后,会出现这个浏览器自动退出的问题

    2024年02月11日
    浏览(68)
  • Selenium根据Chrome浏览器版本自动下载/更新驱动chromedriver.exe

    个人经常使用到 selenium 来控制浏览器进行相关的操作,但是 Chrome浏览器 经常会自动更新,导致已有的 驱动程序chromedriver.exe 失效,需要重新下载。 以前尝试过禁止Chrome浏览器更新,但是这并不是很好的解决方案。 于是换了个方向,既然Chrome浏览器会自动更新,那么在我使

    2024年02月09日
    浏览(70)
  • Selenium入门必备:学会用代码控制浏览器,打开网页、找到元素和退出浏览器

    目录 一、前期准备 1、概述 2、学习目标 3、安装 二、selenium的基本使用 1、加载网页: 2、定位和操作: 3、查看请求信息: 4、退出 小结 三、元素定位的方法 学习目标 1、selenium的定位操作 2、元素的操作 小结 四、selenium的其他操作 学习目标 1、无头浏览器 1、selenium 处理

    2024年02月13日
    浏览(110)
  • Selenium webdriver_manager根据浏览器版本自动下载对应驱动程序

    webdriver_manager是什么? webdriver_manager 是 Python 中的一个库,用于管理 Web 驱动程序。它的作用是自动下载和设置不同浏览器(如 Chrome、Firefox、Edge 等)的 Web 驱动程序,以便在自动化测试中使用这些浏览器。 在进行 Selenium 测试时,需要一个与浏览器相匹配的 Web 驱动程序,以

    2024年02月11日
    浏览(48)
  • 谷歌chrome浏览器所有历史版本下载及selenium自动化控制插件资源分享

    使用python + selenium做网页自动化开发的小伙伴经常需要用到google chrome浏览器以及chromedriver插件。     谷歌浏览器所有历史版本下载链接: chrome历史版本,点击下载 chromedriver插件下载地址: 下载链接1:点击下载 下载链接2:点击下载 chromedriver插件与浏览器版本有对应关系,

    2024年02月14日
    浏览(53)
  • Selenium根据Chrome浏览器 版本自动下载/更新驱动chromedriver.exe webdriver_manager库

    Selenium提供了一个webdriver_manager库,可以帮助自动下载和更新Chrome浏览器的驱动程序chromedriver.exe。您可以按照以下步骤操作: 安装webdriver_manager库。可以在命令行或终端中运行以下命令进行安装: 在Selenium Python脚本中,导入webdriver_manager并使用ChromeDriverManager类来创建ChromeDri

    2024年02月16日
    浏览(59)
  • Selenium教程05:使用webdriver-manager自动下载浏览器驱动,再也不用担心driver版本的问题了

    WebDriverManager是一个用于管理Web驱动程序的工具,主要用于自动化测试领域。在进行 Selenium 测试时,需要一个与浏览器相匹配的 Web 驱动程序,以便控制和操作浏览器。WebDriverManager可以自动下载和管理浏览器驱动程序,会自动检测本地系统中安装的浏览器,并下载对应的浏览

    2024年01月17日
    浏览(62)
  • 解决pycharm调试web自动化浏览器自动退出问题

    一、问题描述 在pycharm中调试自动打开浏览器时发现打开后会自动关闭,但是并没有关闭的代码 二、问题解决 在网上百度了很多很多方法都没有效果,后来看到一篇文章可能是selenium版本太高导致,我查看了当时安装

    2024年02月11日
    浏览(42)
  • Selenium自动化chrome驱动版本匹配但是调用浏览器失败:Only local connections are allowed. 问题解决

    第一次发现这种情况,驱动版本完全对的上,但是调用 chrome 就提示 Only local connections are allowed. 然后浏览器调用失败报错。 解决方法: 调用 chrome 驱动的时候加个参数 --whitelisted-ips=\\\"\\\" ,值为空就是把所有调入来源都加入白名单。 ips 的全称是 intrusion prevention system ,解释为入

    2024年02月11日
    浏览(39)

觉得文章有用就打赏一下文章作者

支付宝扫一扫打赏

博客赞助

微信扫一扫打赏

请作者喝杯咖啡吧~博客赞助

支付宝扫一扫领取红包,优惠每天领

二维码1

领取红包

二维码2

领红包