如果chrome驱动程序的版本与当前chrome版本不同,我想编写一个python代码,下载并操作与当前chrom版本匹配的chrome驱动。
这就是我一直在寻找的
driver = webdriver.Chrome(ChromeDriverManage().install(), chrome_options=chrome_options)
我认为这个代码效率很低,因为我每次都要安装chrome驱动程序。有办法吗?
这是官方文档所说的:
你可以做
pip install chromedriver-autoinstaller
或
导入
import chromedriver_autoinstaller
代码:
from selenium import webdriver
import chromedriver_autoinstaller
chromedriver_autoinstaller.install() # Check if the current version of chromedriver exists
# and if it doesn't exist, download it automatically,
# then add chromedriver to path
driver = webdriver.Chrome()
driver.get("http://www.python.org")
assert "Python" in driver.title
参考:点击此处
chromedriver自动安装程序库对我来说运行良好,并且使用了缓存,因此不会不必要地重新下载驱动程序。
尝试使用此脚本。它将工作
from selenium import webdriver
import zipfile
import requests
try:
version = requests.get('https://chromedriver.storage.googleapis.com/LATEST_RELEASE').text
url = 'https://chromedriver.storage.googleapis.com/{0}/{1}'.format(version, 'chromedriver_win32.zip')
r = requests.get(url, allow_redirects=True)
open('chromedriver.zip', 'wb').write(r.content)
with zipfile.ZipFile("chromedriver.zip", "r") as zip_ref:
zip_ref.extractall()
except:
pass
webdriver自动更新
PyPI和GitHub中有一个名为webdriver-auto-update
的包。它将检测您计算机上的驱动程序版本,并自动下载最新的chrome驱动程序版本/版本。
安装:
确保您的系统中安装了Python。在您的终端中运行以下程序进行安装:
pip install webdriver-auto-update
示例
from selenium import webdriver
from webdriver_auto_update import check_driver
# Pass in the folder used for storing/downloading chromedriver
check_driver('folder/path/of/your/chromedriver')
driver = webdriver.Chrome()
driver.get("http://www.python.org")
参考链接:
https://pypi.org/project/webdriver-auto-update/https://github.com/competencytestlvl/webdriver_auto_update
我对三种不同的";"自动更新";stackoverflow.com页面上提到的python包,看看哪些包值得我投入时间用于我的应用程序。我需要在我的图书馆里建一些东西,因为chromedriver每月故意过时是一场维护噩梦。
在评估开源软件包时,我关注1(整体代码质量,2(维护,3(依赖它的专业程序员,4(维护者,5(相关或派生的依赖软件包,6(现在可用的文档和使用示例,7(是否有conda和pip版本可用,以及8(任何其他因素或;问题";其指示产品成熟度或支持质量(或缺乏支持(。
"人气"本身不足以值得投资,例如,它很容易被大众所误导;见证Amazon.com";假的";产品评论(。
CCD_ 3:版本=";0.4.0〃;,2个月前更新|(3.2K用户,132颗星,44个分叉,8个贡献者(
webdriver_auto_update
|版本=";0.1.0〃;,28天前更新。|(#用户未知,7颗星,3个分叉,2个贡献者(
chromedriver autoinstaller的作者/维护者也是geckodriver autonstaller包的作者/保持者。
为了与chromedriver自动安装程序和其他程序进行一致的比较:
geckodriver-autoinstaller
:|version=";0.1.0〃;,3年前更新(不太好(|(304个用户,19颗星,16个分叉,2个贡献者(
chromedriver autoinstaller拥有最大的用户群,拥有3200名用户,拥有最多的fork。
yeongbin-jo即使在两周后也没有解决这个问题。因此,我创建了一个名为chromedriver-autoinstaller-fix
的分叉来解决这个问题。
安装
pip install chromedriver-autoinstaller-fix
示例
from selenium import webdriver
import chromedriver_autoinstaller_fix
chromedriver_autoinstaller_fix.install()
# Check if the current version of chromedriver exists
# and if it doesn't, download it automatically,
# then add chromedriver to path
driver = webdriver.Chrome()
driver.get("http://www.python.org")
assert "Python" in driver.title