print("西湖水") 2024-06-28 21:15 采纳率: 25%
浏览 24
已结题

selenium 突然打不开chrome


from selenium import webdriver
from selenium.webdriver.chrome.options import Options
from selenium.webdriver.chrome.service import Service  # 20240627添加

# 无头浏览器
chrome_options = Options()
chrome_options.add_argument('--headless')

chromedriver_path = r"G:\\python_work\\chrome\\chromedriver.exe"

chrome_service = Service(executable_path=chromedriver_path)

driver = webdriver.Chrome(options=chrome_options, service=chrome_service)#**这一行开始报错**
url = 'http://www.baidu.com'
driver.get(url)
driver.close()

Traceback (most recent call last):
  File "G:\python_work\ccccc.py", line 12, in <module>
    driver = webdriver.Chrome(options=chrome_options, service=chrome_service)
  File "C:\Users\Administrator\AppData\Local\Programs\Python\Python38\lib\site-packages\selenium\webdriver\chrome\webdriver.py", line 45, in __init__
    super().__init__(
  File "C:\Users\Administrator\AppData\Local\Programs\Python\Python38\lib\site-packages\selenium\webdriver\chromium\webdriver.py", line 66, in __init__
    super().__init__(command_executor=executor, options=options)
  File "C:\Users\Administrator\AppData\Local\Programs\Python\Python38\lib\site-packages\selenium\webdriver\remote\webdriver.py", line 212, in __init__
    self.start_session(capabilities)
  File "C:\Users\Administrator\AppData\Local\Programs\Python\Python38\lib\site-packages\selenium\webdriver\remote\webdriver.py", line 299, in start_session
    response = self.execute(Command.NEW_SESSION, caps)["value"]
  File "C:\Users\Administrator\AppData\Local\Programs\Python\Python38\lib\site-packages\selenium\webdriver\remote\webdriver.py", line 354, in execute
    self.error_handler.check_response(response)
  File "C:\Users\Administrator\AppData\Local\Programs\Python\Python38\lib\site-packages\selenium\webdriver\remote\errorhandler.py", line 229, in check_response
****    raise exception_class(message, screen, stacktrace)
selenium.common.exceptions.WebDriverException: Message: unknown error: cannot find Chrome binary****
Stacktrace:
Backtrace:
    (No symbol) [0x01426643]
    (No symbol) [0x013BBE21]
    (No symbol) [0x012BDA9D]
    (No symbol) [0x012DCC30]
    (No symbol) [0x012DA899]
    (No symbol) [0x01316917]
    (No symbol) [0x0131655C]
    (No symbol) [0x0130FB76]
    (No symbol) [0x012E49C1]
    (No symbol) [0x012E5E5D]
    GetHandleVerifier [0x0169A142+2497106]
    GetHandleVerifier [0x016C85D3+2686691]
    GetHandleVerifier [0x016CBB9C+2700460]
    GetHandleVerifier [0x014D3B10+635936]
    (No symbol) [0x013C4A1F]
    (No symbol) [0x013CA418]
    (No symbol) [0x013CA505]
    (No symbol) [0x013D508B]
    BaseThreadInitThunk [0x7638344D+18]
    RtlInitializeExceptionChain [0x77879802+99]
    RtlInitializeExceptionChain [0x778797D5+54]

win7的chrome版本没有更新,版本和chromedriver.exe都一致,版本号109。之前一直是能用selenium(4.6)打开chrome的(chromedriver.exe的目录没有添加到环境变量,),今天几次(甚至selenium升级到4.22后)也能打开,但后面有一次就突然出错了,然后就一直报错。代码在另外一台电脑上也能打开,正常运行。是不是本机浏览器内存溢出?重启电脑多次也没用

  • 写回答

2条回答 默认 最新

  • 专家-赤兔[在线] 全栈领域优质创作者 2024-06-28 21:15
    关注

    引自免费微信小程序:皆我百晓生

    从你的错误信息来看,Selenium在试图启动Chrome时无法找到Chrome的二进制文件,因此出现了"unknown error: cannot find Chrome binary"的错误。这个问题通常是因为Selenium无法在你的机器上找到Chrome的可执行文件路径。这里有几个可能的解决方案:

    1. 检查Chrome的安装路径:确保Chrome确实安装在你的机器上,并且检查其安装路径是否正确。如果Chrome安装在非标准路径下,你可能需要在chrome_options中添加binary_location参数来指定正确的路径。例如:
    chrome_options.binary_location = r"你的Chrome安装路径"
    

    请注意替换"你的Chrome安装路径"为实际的路径。

    1. 更新Chrome和Chromedriver:虽然你提到Chrome和Chromedriver的版本一致,但有时确保两者都是最新版本可能是个好主意。Chromedriver应该与Chrome浏览器版本完全匹配。
    2. 检查Chromedriver的路径:确保chromedriver_path指向的是正确的路径,并且这个路径不包含任何空格或特殊字符。你的代码中已经指定了正确的路径,所以这一步可能不是问题所在,但值得再次确认。
    3. 关于内存溢出:虽然你的描述中提到了内存溢出的可能性,但从错误信息来看,这不像是内存溢出的问题。不过,为了排除其他因素,你可以尝试关闭其他正在运行的大型程序或释放一些内存资源,看看问题是否解决。
    4. 尝试重置Selenium的会话:有时候,旧的Selenium会话可能会导致问题。尝试重启你的Python环境或重置Selenium的会话设置可能会解决问题。
    5. 检查防火墙或安全软件设置:有时,防火墙或安全软件可能会阻止Selenium访问Chrome。确保这些软件没有阻止你的操作。

    如果以上方法都不能解决问题,建议查看是否有其他软件或设置影响了Selenium的正常运行。可能需要更深入地检查你的系统配置和环境设置。

    本回答被题主选为最佳回答 , 对您是否有帮助呢?
    评论 编辑记录
查看更多回答(1条)

报告相同问题?

问题事件

  • 系统已结题 7月31日
  • 已采纳回答 7月23日
  • 创建了问题 6月28日

悬赏问题

  • ¥15 用verilog实现tanh函数和softplus函数
  • ¥15 求京东批量付款能替代天诚
  • ¥15 slaris 系统断电后,重新开机后一直自动重启
  • ¥15 谁能帮我看看这拒稿理由啥意思啊阿啊
  • ¥15 关于vue2中methods使用call修改this指向的问题
  • ¥15 idea自动补全键位冲突
  • ¥15 请教一下写代码,代码好难
  • ¥15 iis10中如何阻止别人网站重定向到我的网站
  • ¥15 滑块验证码移动速度不一致问题
  • ¥15 Utunbu中vscode下cern root工作台中写的程序root的头文件无法包含