如何使用 selenium/webdriver 打开网站?

imi*_*tia 3 python selenium webdriver driver

import time
from selenium import webdriver
driver = webdriver.Chrome('C:\Program Files\Google\Chrome\Application\chrome.exe')
driver.get('https://www.facebook.com')
time.sleep(5)
driver.quit()
Run Code Online (Sandbox Code Playgroud)

错误代码:Executable_path已被弃用,请传入服务对象。

上面的代码开始打开 ​​Google Chrome 选项卡,但不选择用户,并且它将在 Google Chrome 显示所有用户的位置停止。我尝试过使用特定的配置文件路径,但出现了各种错误。如果有人能够解决这个问题,我将不胜感激,我想以访客身份打开 Chrome 选项卡。

小智 6

看起来你的问题有两个部分。您正在尝试找出网络驱动程序和用户配置文件路径。请允许我为您回答这两个问题。

在最新版本的 Selenium 中,该executable_path参数已被弃用。现在需要包含可执行路径的服务对象。有两种选择。

服务对象

选项#1:使用可执行路径

将此导入附加到您的代码中:

from selenium.webdriver.chrome.service import Service
Run Code Online (Sandbox Code Playgroud)

然后,包含服务对象,如下所示:

driver = webdriver.Chrome(service=Service("C:\Program Files\Google\Chrome\Application\chrome.exe"))
Run Code Online (Sandbox Code Playgroud)

选项#2:让网络驱动程序管理器处理它

当驱动程序过时时,这非常有用。无需重新下载驱动程序。

首先,转到终端中的项目目录。如果您使用的是 PyCharm,则无需遍历该目录,因为您已经位于项目目录中。

使用 pip 安装网络驱动管理器:

pip install webdriver_manager
Run Code Online (Sandbox Code Playgroud)

现在,无需输入可执行路径:

from selenium import webdriver
from selenium.webdriver.chrome.service import Service
from webdriver_manager.chrome import ChromeDriverManager
driver = webdriver.Chrome(service=Service(ChromeDriverManager().install()))
driver.get("https://www.facebook.com")
Run Code Online (Sandbox Code Playgroud)

选择用户配置文件

这相当简单。首先,进入chrome浏览器,chrome://version/在URL地址栏输入。您将看到配置文件路径。它会看起来像这样C:\Users\yourprofile\AppData\Local\Google\Chrome\User Data\Default

然后,包括以下 chrome 选项:

options = webdriver.ChromeOptions()
options.add_argument(r"--user-data-dir=C:\Users\yourprofile\AppData\Local\Google\Chrome\User Data")
options.add_argument(r"--profile-directory=Default")
driver = webdriver.Chrome(service=Service(ChromeDriverManager().install()), options=options)
Run Code Online (Sandbox Code Playgroud)