我想使用 python (3.10.4) 抓取一个页面,但需要先单击一个按钮来打开我需要的完整文本。使用 requests 接缝是不可能的,因为它不会导致新链接,所以我正在尝试使用 selenium (3.141.0) 来完成。我在尝试配置 chromedriver 时遇到错误。
我不是在本地工作,而是来自github代码空间。我将 chromedriver.exe 添加到我的存储库中。
目录
项目
│
├──笔记本
├── current_file.py
├── chromedriver.exe
代码
我第一次尝试这个:
from selenium import webdriver
driver = webdriver.Chrome('../chromedriver.exe')
driver.find_element_by_xpath(xpath).click()
但它会在第 2 行引发错误:
WebDriverException: Message: 'chromedriver.exe' executable may have wrong permissions. Please see https://sites.google.com/a/chromium.org/chromedriver/home
所以通过我在其他帖子中找到的答案,我尝试过:
import os
os.chmod('../chromedriver.exe', 755)
from selenium import webdriver
driver = webdriver.Chrome('../chromedriver.exe')
driver.find_element_by_xpath(xpath).click()
但在第 2 行引发错误:
OSError: [Errno 8] Exec format error: '../chromedriver.exe'
也试过
from selenium import webdriver
from webdriver_manager.chrome import ChromeDriverManager
driver = webdriver.Chrome(ChromeDriverManager().install())
但在第 3 行引发错误:
WebDriverException: Message: unknown error: cannot find Chrome binary
更新
当 github-codespaces 是 linux 环境时,我错误地使用了 chromedriver for windows。现在 chmod 工作了,但是下一行
driver = webdriver.Chrome('../chromedriver')
加注
WebDriverException: Message: unknown error: cannot find Chrome binary
。你能告诉我路径是否正确,是否需要相对路径而不是在机器中安装?如果是最新的,我该怎么办?
求助!我真的需要弄清楚这个才能继续。