0


python之selenium接管打开的谷歌浏览器窗口——隐藏爬虫特征,跳过登陆弹窗验证

文章目录

引言

我们知道通过selenium打开的浏览器与本地电脑上打开的浏览器是不同的,selenium通过插件打开浏览器页面会显示爬虫特征信息,且在访问某些网站时,很容易被检测出是一个爬虫机器,从而强制跳出登陆弹窗;有的登陆弹窗还会拒绝你的登陆验证;如:

案例:通过selenuium打开淘宝主页搜索 ‘美食’,进入详情页,跳出登陆弹窗**

# 导入模块import os
from selenium import webdriver
from selenium.webdriver.common.keys import Keys
from selenium.webdriver.common.by import By

# 生成浏览器对象
browser = webdriver.Chrome()# 访问网页
browser.get('https://www.taobao.com')# 向搜索框中输入 '美食'input= browser.find_element(By.ID,'q')input.send_keys('美食')input.send_keys(Keys.ENTER)# 点击回车,进入详情页

执行效果:
在这里插入图片描述

解决方法:我们可以通过打开本地谷歌浏览器,访问淘宝,不会跳出登陆弹窗;用动图显示:在这里插入图片描述

使用selenium接管打开的谷歌浏览器

从上面我们知道本地谷歌浏览器访问淘宝页面时,不会跳出弹窗登陆验证,那么如何使用python代码来自动化的打开浏览器,并利用selenium接管打开的浏览器,对其进行控制;如下:

借鉴文章:https://blog.csdn.net/weixin_45081575/article/details/126389273

直接上代码:

# 导入模块import os # 用于执行windows命令from selenium import webdriver
from selenium.webdriver.common.by import By  # 选择器,用于筛选网页数据from selenium.webdriver.common.keys import Keys   # 按键,指代电脑上的某些按键# 用os.popen方法执行windows命令,打开谷歌浏览器;注意:也可以手动打开浏览器,这里我通过os模块用命令打开
os.popen('start chrome --remote-debugging-port=9527 --user-data-dir=""')# selenium接管已经打开的浏览器窗口# 1、创建文本对象
options = webdriver.ChromeOptions()# 2、向文件对象中写入参数
options.add_experimental_option("debuggerAddress","127.0.0.1:9527")# 3、将参数传入浏览器对象,接管浏览器
browser = webdriver.Chrome(options=options)'''
注意:selenium 一次只能控制一个浏览器页面,若打开多个浏览器标签或窗口,
那么只有最初打开的窗口会受selenium控制
'''# 访问网页
browser.get('https://www.taobao.com')# 向搜索框中输入 '美食'input= browser.find_element(By.ID,'q')input.send_keys('美食')input.send_keys(Keys.ENTER)# 点击回车,进入详情页,不会跳出登陆弹窗print(browser.page_source)# 返回网页源码

执行效果:
在这里插入图片描述

总结

总的来说,直接使用selenium打开谷歌浏览器,在访问很多网站时,容易出现各种验证,而通过本地谷歌浏览器去在访问这些网站时,出现验证的几率很小,当然不是所有的网站都是这样,有些网站必须要登陆才能显示页面,那么只能老老实实去登陆验证了;上述方法就是通过os模块调用windows命令打开本地谷歌浏览器后,在通过selenium去接管打开的浏览器,这样就可以使用selenium控制本地谷歌浏览器了

爬虫案例推荐:https://blog.csdn.net/m0_59470317/article/details/142902162

标签: python selenium 爬虫

本文转载自: https://blog.csdn.net/m0_59470317/article/details/142904608
版权归原作者 盲敲代码的阿豪 所有, 如有侵权,请联系我们删除。

“python之selenium接管打开的谷歌浏览器窗口——隐藏爬虫特征,跳过登陆弹窗验证”的评论:

还没有评论