- html - 出于某种原因,IE8 对我的 Sass 文件中继承的 html5 CSS 不友好?
- JMeter 在响应断言中使用 span 标签的问题
- html - 在 :hover and :active? 上具有不同效果的 CSS 动画
- html - 相对于居中的 html 内容固定的 CSS 重复背景?
我正在使用 python selenium 构建一个 Web 测试应用程序,并希望那些不太懂技术的人也能够使用它。但是,此应用程序需要 chromedriver.exe 文件才能获取网页。那么有什么方法我可以随时访问该文件,无论它下载并保存在哪里。或者也许有某种方法可以让用户输入一次位置,然后保存它,这样用户就不需要在每次启动应用程序时输入位置?
最佳答案
脚本绝对无法找到 chromedriver,“无论它在哪里下载并保存”,除非它位于系统路径上。
我很快为 python3
编写了这个代码,它检查 Windows path
上是否存在 chromedriver
,如果不存在,它会从 URL 下载它。
import requests, zipfile, io, os
curr_dir = os.path.dirname(os.path.abspath(__file__))
def is_exe(fpath):
return os.path.isfile(fpath) and os.access(fpath, os.X_OK)
def chromedriver_exist():
if is_exe (curr_dir + "\chromedriver.exe"):
return curr_dir + "\chromedriver.exe"
for path in os.environ["PATH"].split(os.pathsep):
exe_file = os.path.join(path, "chromedriver.exe")
if is_exe(exe_file):
print("chromedriver exist and is executable", exe_file)
return exe_file
chromedriver = chromedriver_exist()
if chromedriver:
print(chromedriver)
else:
url = "https://chromedriver.storage.googleapis.com/72.0.3626.69/chromedriver_win32.zip"
r = requests.get(url)
z = zipfile.ZipFile(io.BytesIO(r.content))
z.extractall()
chromedriver = curr_dir + "\chromedriver.exe"
print(chromedriver)
<小时/>
V2
import requests, zipfile, io, os, subprocess
curr_dir = os.path.dirname(os.path.abspath(__file__))
chromedriver = "chromedriver.exe"
out = subprocess.getoutput(f"{chromedriver} -v")
if "ChromeDriver" in out:
print(f"{out} \nChromeDriver exists in path and is executable" )
else:
url = "https://chromedriver.storage.googleapis.com/72.0.3626.69/chromedriver_win32.zip"
try:
r = requests.get(url)
z = zipfile.ZipFile(io.BytesIO(r.content))
z.extractall()
chromedriver = f"{curr_dir}\chromedriver.exe"
except Exception as e:
print(f"Cannot download chromedriver\n {e}")
关于python - 如何让我的 python 脚本找到 chromedriver 文件,无论它在哪里使用,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/57583931/
昨天我更新了我的旧 chromedriver(v2.0.204324.dyu) 并在 https://code.google.com/p/chromedriver/downloads/list 上传了
我在使用 Selenium WebDriver.chromedriver 获取 json 结果数据时遇到问题,服务器将响应 http 状态代码 429 太多请求。 但是当我直接使用 chrome 获取
所以我在 stack here 上看到了一个类似的问题,但它没有被接受的答案,也没有为我提供我需要的信息。 我正在尝试使用“chromedriver”,因为“selenium-webdriver”需要
嗨,在 headless centos 7 中,我正在尝试进行 headless selenium 测试。为此,我安装了 google-chrome、chromedriver 和 selenium p
已关闭。这个问题是 not reproducible or was caused by typos 。目前不接受答案。 这个问题是由拼写错误或无法再重现的问题引起的。虽然类似的问题可能是 on-top
已关闭。这个问题是 not reproducible or was caused by typos 。目前不接受答案。 这个问题是由拼写错误或无法再重现的问题引起的。虽然类似的问题可能是 on-top
我的问题与这篇文章有关:session not created: This version of ChromeDriver only supports Chrome version 74 error
我们试图在 Jenkins 上添加一些 selenium 脚本,但每当我们发出命令时,我都会收到错误消息“Chromedriver.exe 已停止工作”。 我将 chromedriver 移动到另一个
我使用的是 Macbook Pro,并且使用 Selenium 2.46.0 for Java 和 Chromedriver。我只有一个main方法,如下: public static void ma
我正在尝试在 heroku 上设置 selenium。我一直在看Running ChromeDriver with Python selenium on Heroku寻求帮助。基于此,我安装了列出的
当我设置初始设置 Nightwatchjs(使用初学者教程)时,出现如下错误: 尝试启动 ChromeDriver 时出错:无法解析路径:“/node_modules/.bin/chromedrive
我在 Windows 7 上使用 Selenium Chromedriver 时遇到问题。为了显示该问题,我将其简化为一个简单的脚本来简单地启动《纽约时报》网站: from selenium impo
问题 我一直在使用 Selenium 编写 Python 脚本,它在本地运行良好(因为我已将 ChromeDriver 安装在正确的目录中,即 assets/chromedriver),但它无法在赫罗
WebDriver driver = new ChromeDriver(options); 显示构造函数 ChromeDriver(ChromeOptions) 未定义,为什么? 最佳答案 导入以下语
我安装了 nuget 包 - Selenium.WebDriver.ChromeDriver 2.46.0.. 当我发布(通过 dotnet publish .Net CLI 命令).csprojec
我想用 chromedriver 从 fanfiction.net 上抓取一些故事。 我尝试以下方法: from selenium import webdriver import time path
当我尝试运行 npm install chromedriver 我得到... ChromeDriver installation failed Error extracting archive: Er
只是一个简单的 Python 代码: from selenium import webdriver chrome_options = webdriver.ChromeOptions() chrome_
使用 C# 在 selenium 中哪里可以找到 chromedriver.log。在哪里可以看到chromedriver的日志文件? ChromeOptions optn= new ChromeOp
我在 Linux 上使用 Node 5.10.0。运行脚本时出现一些问题,如下所示 [davea@mydevbox mydir]$ node SkyNet.js Validation Complete
我是一名优秀的程序员,十分优秀!