转载 

selenium 避免被检测爬虫操作浏览器之使用 selenium 连接已经打开的 chrome 浏览器

分类:python,selenium    1009人阅读    IT小君  2021-08-20 22:06

痛点

selenium 运行每次打开新的浏览器窗口的方式,

1、session信息每次都全部丢失,

2、程序关闭后浏览器窗口也关闭。需要重复打开

3、浏览器显示“正受到自动测试软件的控制”,很容易被网站防爬策略检测到为机器人,禁止爬虫的行为


解决以上问题可以通过远程调试的方式,打开一个调试模式的浏览器, 然后selenium 去连接操作

chrome谷歌浏览器打开调试模式:

1.方法一: 新建文件夹D:/test,进入chrome.exe 目录,打开CMD,输入

chrome.exe --remote-debugging-port=9999 --user-data-dir="D:\test"

2、方法二:

复制一个chrome快捷方式,右击这个快捷方式浏览器属性,目标后面加上参数" --remote-debugging-port=9999 --user-data-dir="D:\test",点击确定。 然后点击打开浏览器。



selenium 连接浏览器,代码如下:

from selenium import webdriver
from selenium.webdriver.chrome.options import Options
 
chrome_options = Options()
chrome_options.add_experimental_option("debuggerAddress", "127.0.0.1:9999")
# selenium 运行时会从系统的环境变量中查找 webdriver.exe
# 一般把 webdriver.exe 放到 python 目录中,这样就不用在代码中指定。
chrome_driver = "D:/SoftInstall/python3/Scripts/chromedriver.exe"
driver = webdriver.Chrome(chrome_driver, chrome_options=chrome_options)
driver.get("https://www.baidu.com/")
print(driver.title)
driver.quit()

 


支付宝打赏 微信打赏

如果文章对你有帮助,欢迎点击上方按钮打赏作者

 工具推荐 更多»