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")
尝试以下步骤:
- 在此处检查您的 Google Chrome 版本“chrome://settings/help”
- 从“https://chromedriver.chromium.org/downloads”下载chromedriver.exe
- 将可执行路径更改为新下载的文件。
原因是因为您使用的是浏览器的 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())
看起来打开浏览器后,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")
尝试以下步骤:
- 在此处检查您的 Google Chrome 版本“chrome://settings/help”
- 从“https://chromedriver.chromium.org/downloads”下载chromedriver.exe
- 将可执行路径更改为新下载的文件。
原因是因为您使用的是浏览器的 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())