Ait*_*e97 2 python selenium web-scraping selenium-chromedriver selenium-webdriver
我正在尝试学习 Selenium 来抓取一些 Javascript 重的网站。我可以很好地定位和提取信息。但是,我发现对于某些网站,我需要切换用户代理。我按照以下方式进行了测试:
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")
Run Code Online (Sandbox Code Playgroud)
该代码有效并且我的用户代理已切换,但是现在出现了一个以前没有发生过的错误。在我未指定参数的情况下,网络驱动程序/浏览器(Chrome 驱动程序)在显示网站一秒钟后自动关闭driver.quit()。当我不切换用户代理时,它不会关闭,除非我这样做,并且我想在关闭页面之前稍微研究一下该页面。我尝试使用等待time.sleep()但这不起作用。
如何使网络驱动程序在指定之前不关闭?
非常感谢答案,最好提供如何实现该解决方案的代码示例。
小智 5
这应该对你有好处:
options.add_experimental_option("detach", True)
Run Code Online (Sandbox Code Playgroud)
在你的代码中:
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}')
options.add_experimental_option("detach", True)
driver = webdriver.Chrome(chrome_options=options, executable_path=PATH)
driver.get("https://www.whatismybrowser.com/detect/what-is-my-user-agent")
Run Code Online (Sandbox Code Playgroud)
| 归档时间: |
|
| 查看次数: |
9349 次 |
| 最近记录: |