遇到chrome_options.add_experimental_option ("debuggerAddress", port_number)调起浏览器报错的情况
手动查找ChromeDriver路径。在终端中输入以下命令:
which chromedriver
这将输出ChromeDriver的路径,例如:
/usr/local/bin/chromedriver
可以在Chrome浏览器中输入以下网址来查看版本信息:
chrome://version/
在命令行中,你可以使用以下命令来查看Chrome浏览器的版本:
google-chrome --version
如果该命令无法找到Chrome浏览器,请尝试使用以下命令输出Chrome浏览器的版本号:
chromium-browser --version
2、如果谷歌的版本号和ChromeDriver的不一致:
https://chromedriver.chromium.org/downloads选择对应的版本号点进去进行下载:
如果你的Mac电脑是基于Intel芯片的,你应该下载chromedriver_mac64.zip
;如果你的Mac电脑是基于M1芯片的,则应该下载chromedriver_mac_arm64.zip
。
你可以在终端中输入以下命令来检查你的Mac电脑的处理器架构:
uname -m
如果输出结果是x86_64
,则你的Mac电脑是基于Intel芯片的,应该下载chromedriver_mac64.zip
;如果输出结果是arm64
,则你的Mac电脑是基于M1芯片的,应该下载chromedriver_mac_arm64.zip
。
请确保下载与你的Mac电脑处理器架构相匹配的ChromeDriver版本。
3、下载与安装:
将下载的ChromeDriver解压缩到你想要的目录中。你可以在终端中使用以下命令来解压缩:
unzip chromedriver_mac64.zip
或者
unzip chromedriver_mac_arm64.zip
这将解压缩ChromeDriver到当前目录中。
你可以使用以下命令来将下载的ChromeDriver压缩包解压缩到/usr/local/bin/chromedriver
文件夹:
unzip chromedriver_mac64.zip -d /usr/local/bin/chromedriver
或者
unzip chromedriver_mac_arm64.zip -d /usr/local/bin/chromedriver
这将解压缩ChromeDriver到/usr/local/bin/chromedriver
文件夹中。请确保该文件夹已经存在。
注意:解压缩到/usr/local/bin/chromedriver
文件夹需要管理员权限,你需要在终端中使用sudo
命令来运行解压缩命令,例如:
sudo unzip chromedriver_mac64.zip -d /usr/local/bin/chromedriver
或者
sudo unzip chromedriver_mac_arm64.zip -d /usr/local/bin/chromedriver
在解压缩过程中,你需要输入你的管理员密码。
4、错误
(base) kaka@KakadeMacBook-Pro Downloads % sudo unzip chromedriver_mac_arm64.zip -d /usr/local/bin/chromedriver Password: Archive: chromedriver_mac_arm64.zip checkdir: cannot create extraction directory: /usr/local/bin/chromedriver File exists
这个错误是因为/usr/local/bin/chromedriver
文件夹已经存在,但你没有权限将文件解压缩到该文件夹中。
你可以尝试使用以下命令来查看/usr/local/bin/chromedriver
文件夹的权限:
ls -ld /usr/local/bin/chromedriver
如果你没有写入权限,你需要使用管理员权限运行解压缩命令。你可以在终端中使用以下命令来以管理员身份运行命令:
sudo unzip chromedriver_mac_arm64.zip -d /usr/local/bin/
这将使用管理员权限解压缩ChromeDriver到/usr/local/bin/
文件夹中。请注意,在这种情况下,你不需要在/usr/local/bin
后添加chromedriver
文件夹名。
如果你仍然无法将文件解压缩到/usr/local/bin/chromedriver
文件夹中,请尝试使用其他文件夹,例如/Users/your_username/bin/chromedriver
,并将其路径添加到你的代码中
(base) kaka@KakadeMacBook-Pro Downloads % ls -ld /usr/local/bin/chromedriver -rwxr-xr-x@ 1 kaka staff 16176576 3 29 06:22 /usr/local/bin/chromedriver (base) kaka@KakadeMacBook-Pro Downloads %
/usr/local/bin/chromedriver
文件夹已经存在,并且你有执行权限。在这种情况下,你可以尝试使用以下命令来解压缩ChromeDriver到该文件夹中:sudo unzip chromedriver_mac_arm64.zip -d /usr/local/bin/
这将使用管理员权限将ChromeDriver解压缩到/usr/local/bin/
文件夹中。请注意,你不需要在/usr/local/bin
后添加chromedriver
文件夹名。
解压缩完成后,你可以在你的Python代码中使用以下代码来启动Chrome浏览器:
from selenium import webdriver chrome_driver_path = "/usr/local/bin/chromedriver" chrome_options = webdriver.ChromeOptions() chrome_options.add_argument("--remote-debugging-port=9222") driver = webdriver.Chrome(executable_path=chrome_driver_path, options=chrome_options)
这将使用/usr/local/bin/chromedriver
路径启动Chrome浏览器。
(base) kaka@KakadeMacBook-Pro Downloads % sudo unzip chromedriver_mac_arm64.zip -d /usr/local/bin/ Archive: chromedriver_mac_arm64.zip replace /usr/local/bin/chromedriver? [y]es, [n]o, [A]ll, [N]one, [r]ename:
这是在询问你是否要覆盖已经存在的/usr/local/bin/chromedriver
文件。你可以输入以下选项之一来进行选择:
- 输入
y
:覆盖已经存在的文件。 - 输入
n
:不覆盖已经存在的文件。 - 输入
A
:覆盖所有文件。 - 输入
N
:不覆盖所有文件。 - 输入
r
:重命名文件。
如果你已经确认/usr/local/bin/chromedriver
文件夹中没有重要文件,并且想要覆盖已经存在的文件,你可以输入 A
。如果你不确定,或者想要保留已经存在的文件,你可以输入 n
或者 N
。
5、出现弹窗:无法打开“chromedriver”,因为Apple无法检查其是否包含恶意软件。
如果你在启动ChromeDriver时遇到了“chromedriver”无法打开,因为Apple无法检查其是否包含恶意软件
的错误,这是因为macOS的安全设置阻止了你的计算机运行未经验证的软件。
你可以按照以下步骤解决这个问题:
-
在Finder中,打开
/usr/local/bin/
文件夹。 -
找到
chromedriver
文件,并右键单击它。 -
选择“打开”选项。会出现一个警告框,提示该文件未经过苹果验证。
-
点击“打开”按钮来确认你要运行该文件。
-
重复以上步骤,以确保你的计算机允许运行
chromedriver
文件。
完成以上步骤后,你应该可以正常启动ChromeDriver了。