python 爬虫 | selenium换页问题
我最近遇到一个问题我的selenium无法换页,我的代码如下。
chromeOptions = webdriver.ChromeOptions()
chromeOptions.add_experimental_option('excludeSwitches', ['enable-automation']) chromeOptions.add_experimental_option('useAutomationExtension', False)
# chromeOptions.add_argument('headless')
# option.add_argument(f'user-agent=""')
chromeOptions.add_argument(f'Mozilla/5.0 (Linux; Android 5.0; SM-G900P Build/LRX21T) AppleWebKit/537.36 (KHTML, like Gecko) Chrome/90.0.4430.93 Mobile Safari/537.36')
browser = webdriver.Chrome(options=chromeOptions)
browser.execute_cdp_cmd('Page.addScriptToEvaluateOnNewDocument', {'source': 'Object.defineProperty(navigator, "webdriver", {get:()=> undefined})'
})
url = 'https://www.xiaohongshu.com/discovery/item/609338a7000000002103f213?xhsshare=CopyLink&appuid=5c4005ff000000000702876b&apptime=1620266299'
browser.get(url)
由于我在设置ua的时候没有加关键词(user-agent=),导致我发起请求的时候同时请求了方法add_argument 中的字符,我明明只写了一个get方法,但是却同时请求了多个网站,
从下图可以看出我的目标网站在第二个选项卡,其他网站都是无效网站,如果换页到我的目标网站的话应该是如下命令:
browser.window_handles[1]
![](/assets/blank.gif)
但是我发现换不过去,最后我发现如果把之前的命令换成-1,也就是:
browser.window_handles[-1]
的话就可以正常切换到目标网站,我大胆的推测,由于我的ua没加关键词导致,请求的时候会先请求我加进去的参数,最后才会请求我的目标网站,因此导致我换页的时候其实要换到最后一页。
我将所有无效的请求链接进行拼接得出
https://android/build/lrx21t/applewebkit/537.36(khtml,/likeGecko)chrome/90.0.4430.93 mobile/safari/537.36
我设置的ua为:Mozilla/5.0 (Linux; Android 5.0; SM-G900P Build/LRX21T) AppleWebKit/537.36 (KHTML, like Gecko) Chrome/90.0.4430.93 Mobile Safari/537.36
拼接的链接与ua对比,应该是以;为起始位,之后以空格进行分割,进行请求。
使用selenium同时请求多个网站时,展示的选项卡顺序并不一定就是正确的,如果没法切换到目标选项卡,不妨多调试几次。
python 爬虫 | selenium换页问题相关推荐
- [Python爬虫] Selenium获取百度百科旅游景点的InfoBox消息盒
前面我讲述过如何通过BeautifulSoup获取维基百科的消息盒,同样可以通过Spider获取网站内容,最近学习了Selenium+Phantomjs后,准备利用它们获取百度百科的旅游景点消息盒(I ...
- [Python爬虫] Selenium+Phantomjs动态获取CSDN下载资源信息和评论
前面几篇文章介绍了Selenium.PhantomJS的基础知识及安装过程,这篇文章是一篇应用.通过Selenium调用Phantomjs获取CSDN下载资源的信息,最重要的是动态获取资源的评论,它是 ...
- [Python爬虫] Selenium实现自动登录163邮箱和Locating Elements介绍
前三篇文章介绍了安装过程和通过Selenium实现访问Firefox浏览器并自动搜索"Eastmount"关键字及截图的功能.而这篇文章主要简单介绍如何实现自动登录163邮箱,同时 ...
- [python爬虫] Selenium常见元素定位方法和操作的学习介绍(转载)
转载地址:[python爬虫] Selenium常见元素定位方法和操作的学习介绍 一. 定位元素方法 官网地址:http://selenium-python.readthedocs.org/locat ...
- Python爬虫 Selenium实现自动登录163邮箱和Locating Elements介绍
Python爬虫视频教程零基础小白到scrapy爬虫高手-轻松入门 https://item.taobao.com/item.htm?spm=a1z38n.10677092.0.0.482434a6E ...
- Python 爬虫 Selenium 基本使用
Python 爬虫 Selenium 基本使用 1. 基础知识 1.1 下载浏览器驱动 1.2 帮助文档 2. 浏览器操作 2.1 浏览器导航 2.2 窗口和选项卡 2.3 Frames and If ...
- Python爬虫-Selenium(1)
Python爬虫-Selenium(1) @(博客)[python, 爬虫, selenium, Python] Python爬虫-Selenium(1) 前言 前期准备 基础使用 进阶使用 浏览器操 ...
- [Python爬虫] Selenium实现自己主动登录163邮箱和Locating Elements介绍
前三篇文章介绍了安装过程和通过Selenium实现訪问Firefox浏览器并自己主动搜索"Eastmount"keyword及截图的功能.而这篇文章主要简介怎样实现 ...
- python爬虫selenium爬不到frame 的tag标记下#document==0的内容解决
python爬虫selenium爬不到frame 的tag标记下#document==0的内容解决 前言 按理来说,selenium可以获取当前页面的所有源代码,但却爬不到frame 的tag标记下# ...
- python 爬虫+selenium 全自动化下载JS动态加载漫画
** python 爬虫+selenium 全自动化下载JS动态加载漫画 最近刚学的python,代码可能并不规范,希望大家见谅! 爬取之前,我们首先需要做一些准备工作,因为很多网站都有反爬检索,为了 ...
最新文章
- First non repeating word in a file? File size can be 100GB.
- 最全 Prometheus 踩坑集锦
- Java中重写equals()方法时注意点
- OpenCV图像发现轮廓函数findContours()的使用
- NuGet在Push的时候提示“远程服务器返回错误:(403)已禁用”问题解决
- powerdesigner连接db2生成模型步骤
- 学校计算机 电教材料账册,电教室管理制度
- 列表合并变种题,map()函数扩展
- vue避免重新渲染_详解强制Vue组件重新渲染的方法
- 11Linux_vmtools
- .net Core 安装在linux上
- 第十篇学会编写python代码_Python 强化训练:第十篇
- 云熙板式家具参数化拆单软件免锁版_数控开料机拆单软件如何选择?
- 实习成长之路:关于ElasticSearch深度分页带来的思考,如何解决深度分页和跳页
- 别被IBM抛出的“认知商业”搞晕 这里为你详解
- 在Fedora 28上安装LimeSurvey CE
- Nvivo 12 安装包可自动编码
- java设计模式-终结者者模式
- [C语言]显示器【模拟】
- 计算机/设备和驱动器下有一个空白盘符无法删除