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

文章目录

引言

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

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

python 复制代码
# 导入模块
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

直接上代码:

python 复制代码
# 导入模块
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

相关推荐
老白干37 分钟前
jjwt 0.9.1 在 JDK 11+ 上的两个“坑”与完整解决方案
java·python·log4j
笨鸟先飞,勤能补拙7 小时前
AI 赋能网络安全:技术全景、成熟度评估与实战案例
人工智能·python·安全·web安全·网络安全·sqlite·github
长和信泰光伏储能8 小时前
京津冀光伏发电:绿色能源的未来之路
python·能源
浦信仿真大讲堂8 小时前
从重复操作到自动化闭环:如何让 CST 与 Python 真正协同起来
python·自动化·cst·仿真软件·达索软件
Gu Gu Study9 小时前
ScoutLoop开放域深度研究引擎(agent的初步设计想法)
人工智能·python
卷无止境10 小时前
写代码这件事,到底该讲究点什么?
后端·python
卷无止境10 小时前
循环复杂度到底在算什么,Python 代码怎么才能写得让人一看就懂
后端·python
lpfasd12310 小时前
MediaCrawler 项目深度分析
chrome·python·chrome devtools
Dxy123931021610 小时前
Python项目打包成EXE完整教程(PyInstaller实战避坑)
开发语言·python
bamb0011 小时前
一个项目带你入门AI应用开发01
python