遇到chrome_options.add_experimental_option ("debuggerAddress", port_number)调起浏览器报错的情况

发布时间 2023-06-09 10:56:00作者: 爱家家的卡卡
1、查看谷歌版本和chromedriver版本是否一致:

手动查找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的安全设置阻止了你的计算机运行未经验证的软件。

你可以按照以下步骤解决这个问题:

  1. 在Finder中,打开/usr/local/bin/文件夹。

  2. 找到chromedriver文件,并右键单击它。

  3. 选择“打开”选项。会出现一个警告框,提示该文件未经过苹果验证。

  4. 点击“打开”按钮来确认你要运行该文件。

  5. 重复以上步骤,以确保你的计算机允许运行chromedriver文件。

完成以上步骤后,你应该可以正常启动ChromeDriver了。