我正在努力学习 selenium 来刮一些重Java脚本的网站。我可以很好地定位和提取信息。然而,我发现对于某些站点,我需要更换我的用户代理。为了测试它,我采用了以下方法:
from selenium import webdriver
from selenium.webdriver.chrome.options import Options
from fake_useragent import UserAgent
PATH ="C:/my/path/to/chromedriver.exe"
ua = UserAgent()
userAgent = ua.random
print(userAgent)
options = Options()
options.add_argument(f'user-agent={userAgent}')
driver = webdriver.Chrome(chrome_options=options, executable_path=PATH)
driver.get("https://www.whatismybrowser.com/detect/what-is-my-user-agent")
代码起作用了,我的用户代理被切换了,但是现在发生了一个以前没有发生过的错误。在我没有指定driver.quit()
参数的情况下,Web驱动程序/浏览器(Chrome驱动程序)在显示网站一秒钟后自动关闭。当我没有切换我的用户代理时,它不会关闭,除非我这样做了,并且我想在关闭页面之前研究一下它。我试着使用time.sleep()
等待,但这不起作用。
如何才能使Web驱动程序在指定之前不关闭?
非常感谢您的回答,最好是带有如何实现解决方案的代码示例。
2条答案
按热度按时间ruarlubt1#
我不确定这个问题是否可能与您正在使用的Web驱动程序版本有关,但当我尝试将
time.sleep(n)
添加到您的代码中,同时使用webdriver_manager
库下载最新版本的ChromeWebDriver
时,我有机会查看网站,浏览器直到计时器结束才关闭。我的代码是:
atmip9wb2#
这应该会对你有好处:
在您的代码中: