Selenium 打开浏览器但拒绝执行下一行代码

Selenium Opens Browser But Refuses to Execute the Next Line of Code

看起来打开浏览器后,Selenium 无法继续运行,原因我无法弄清楚。从未显示任何错误。

这是我的简单代码:

import selenium
from selenium import webdriver
from selenium.webdriver.common.keys import Keys

# Using Chrome to access web
browser = webdriver.Chrome(executable_path = "C:\Program Files\Google\Chrome\Application\chrome.exe")

print ("done")

# Open YouTube website
browser.get("https://www.youtube.com/")

浏览器打开正常,但是 print("done") 语句永远不会执行。 (在终端中从来没有打印过“done”这个词。所以,它推断即使打开了浏览器,selenium也没有执行完打开浏览器的命令,我等了几分钟。

提前感谢我们精彩的 Whosebug 社区!

您应该使用 chromedriver.exe 而不是 chrome.exe 的路径。
从这里下载适合您的 chrome 版本的 chromedriver
donwload Chromedriver.exe

之后,做这样的事情:

browser = webdriver.Chrome("E:\YourPathToChromeDriver\chromedriver.exe")

尝试以下步骤:

  1. 在此处检查您的 Google Chrome 版本“chrome://settings/help”
  2. 从“https://chromedriver.chromium.org/downloads”下载chromedriver.exe
  3. 将可执行路径更改为新下载的文件。

原因是因为您使用的是浏览器的 chrome.exe。相反,您应该下载 chromdriver.exe,请从 here 下载。您应该下载 Latest stable release: ChromeDriver 94.0.4606.61(截至 2021 年 10 月 3 日)。将其保存在您的自动化目录和您喜欢的任何目录中。

driver_path = r'C:\Users\username\Desktop\Automation\chromedriver.exe'
driver = webdriver.Chrome(executable_path = driver_path)

请注意,代替 driver_path,您应该给出您保存 chromdriver.exe

的路径

如前所述,本期是chrome.exe。您需要改用 chromedriver。您可以在这里 https://chromedriver.chromium.org/downloads 手动下载一个,然后像 chrome.exe.

一样设置它的路径

但是,我建议使用 GitHub 上的一个库,而不是手动下载 chromedriver,如果已经安装了一个库,它会为您完成并从缓存中加载它。 (我不是这个存储库的所有者或维护者,但我确实发现它使用起来相当简单。)

https://github.com/SergeyPirogov/webdriver_manager

首先你需要pip install webdriver-manager然后你可以按如下方式使用它:

from selenium import webdriver
from webdriver_manager.chrome import ChromeDriverManager

driver = webdriver.Chrome(ChromeDriverManager().install())