Python Selenium常见错误&解决方式

一)Selenium关闭INFO:CONSOLE提示

[0313/230033.593:INFO:CONSOLE(2)] "newDefaultData=>> [object Object]", source: https://baidu.com(2)
[0313/230033.639:INFO:CONSOLE(2)] "index names", source: https://baidu.com (2)

解决方案:(仅适用Selenium版本 4.0+ & Windows)

导入包,设置选项即可,以下为演示代码,请根据自己的修改:

from subprocess import CREATE_NO_WINDOW             #仅适用于Windows
s = Service(chromium_driver_path)                #chromium_driver_path为你的chromoum deiver路径
s.creation_flags = CREATE_NO_WINDOW                # 屏蔽控制台输出
self.driver = webdriver.Chrome(service=s)

 二)cmd调用Selenium-wire写的脚本一直输出:

[0313/220113.982:ERROR:cert_verify_proc_builtin.cc(766)] CertVerifyProcBuiltin for at.alicdn.com failed:
----- Certificate i=1 (CN=Selenium Wire CA) -----
ERROR: No matching issuer found


[0313/220114.706:ERROR:cert_verify_proc_builtin.cc(766)] CertVerifyProcBuiltin for assets.giocdn.com failed:
----- Certificate i=1 (CN=Selenium Wire CA) -----
ERROR: No matching issuer found


 

解决方案:启动selenium chrome(headless无头模式想修复这个问题也需要启动GUI导入证书)后,打开chronium导入Selenium-wire附带的证书即可:

下载,保存为ca.crt

随后启动chromium,打开隐私与安全----安全----证书-----受信任的根证书颁发机构,点击导入,一直下一步即可修复!

三)python selenium chrome webdriver和chrome版本不一致

由于chrome浏览器的自动更新机制,chome被更新至122.0.6261.95,而此前使用的chrome driver为122.0.6261.94,相差一个版本,启动脚本会闪退/代码执行完会自动退出。[chromedriver发布页](https://googlechromelabs.github.io/chrome-for-testing/)的最新版本为94,没有95。

后续使用指定版本的chrome和chromedriver解决:
下载链接:https://vikyd.github.io/download-chromium-history-version/#/

四)python调用chrome webdriver闪退原代码
 

from selenium import webdriver
from selenium.webdriver.chrome.service import Service
from selenium.webdriver.chrome.options import Options

options = Options()
options.add_extension('C:\\chromedriver.exe")

driver = webdriver.Chrome(service=s, options=options)
driver.get("http://www.baidu.com")


加载完成后会闪退

成功代码

from selenium import webdriver
from selenium.webdriver.chrome.service import Service

option = webdriver.ChromeOptions()
option.add_experimental_option("detach", True)
s = Service('C:\\chromedriver.exe')
driver = webdriver.Chrome(service=s,options=option)

driver.get(url="http://baidu.com")

# driver.close()


关键代码:

option.add_experimental_option("detach", True)


该选项用于控制浏览器关闭时是否保持后台进程运行的。设置为True时,浏览器关闭后会保持后台进程运行

评论 1
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包
实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值