我已经使用 Python Selenium 很长时间了,当我初始化驱动程序来浏览任何网站时,会打开一个 chrome 窗口,顶部有一个横幅,指示实例“Chrome 由自动化测试软件控制”。
我目前正在开发一个从网站收集数据的爬虫项目。一切都很好。我成功地制作了一个稳定且快速的刮刀。然后我想用单元测试来测试我的功能。一旦我完成了单元测试的创建,我开始注意到它们的结果并不规律,并且可能会在一次执行到下一次执行之间发生变化。然后我启动了刮刀来检查一切是否正常,但情况已不再如此。
我注意到 Selenium 驱动程序打开的实例不再是“Chrome”实例,而是“Chrome for Testing”实例(具有与平常不同的徽标),并且页面顶部除了现有的:“Chrome for Test v125.0.6422.60 保留用于自动化测试。对于正常浏览,...”我还注意到该浏览器在网站中导航速度要慢得多,这解释了我遇到的问题。除了添加单元测试之外,我没有改变任何东西,我不明白为什么会改变。
我首先尝试删除项目的测试部分,但这没有帮助。我还检查了驱动程序版本,自从我一年前下载以来,该版本没有改变。我检查了 Chrome 版本,从我开始遇到此问题到一切正常运行(即 24 小时间隔),该版本都没有进化。
提前感谢任何可以提供帮助的人!
不知道你指的是什么。标准 chromedriver 仍然启动
chromedriver.exe
,具有与 vanilla chrome 相同的图标,并称为 Chrome。您的 Chrome 浏览器在去年应该已更新过多次。我的猜测是您已经安装了其他浏览器。我会卸载 Chrome、测试版 Chrome 和其他浏览器的所有实例。然后前往 Chrome 官方网站并下载最新版本。
从 Selenium 4.6 开始,Selenium 添加了 SeleniumManager,它会自动为您下载和配置适当的驱动程序。因此,您不再需要使用 DriverManager 或指定路径等。
启动浏览器并启动 Selenium 的基本代码现在看起来像这样
from selenium import webdriver
URL = "https://www.google.com"
driver = webdriver.Chrome()
driver.maximize_window()
driver.get(URL)