我最近遇到一个问题我的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]

但是我发现换不过去,最后我发现如果把之前的命令换成-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换页问题相关推荐

  1. [Python爬虫] Selenium获取百度百科旅游景点的InfoBox消息盒

    前面我讲述过如何通过BeautifulSoup获取维基百科的消息盒,同样可以通过Spider获取网站内容,最近学习了Selenium+Phantomjs后,准备利用它们获取百度百科的旅游景点消息盒(I ...

  2. [Python爬虫] Selenium+Phantomjs动态获取CSDN下载资源信息和评论

    前面几篇文章介绍了Selenium.PhantomJS的基础知识及安装过程,这篇文章是一篇应用.通过Selenium调用Phantomjs获取CSDN下载资源的信息,最重要的是动态获取资源的评论,它是 ...

  3. [Python爬虫] Selenium实现自动登录163邮箱和Locating Elements介绍

    前三篇文章介绍了安装过程和通过Selenium实现访问Firefox浏览器并自动搜索"Eastmount"关键字及截图的功能.而这篇文章主要简单介绍如何实现自动登录163邮箱,同时 ...

  4. [python爬虫] Selenium常见元素定位方法和操作的学习介绍(转载)

    转载地址:[python爬虫] Selenium常见元素定位方法和操作的学习介绍 一. 定位元素方法 官网地址:http://selenium-python.readthedocs.org/locat ...

  5. Python爬虫 Selenium实现自动登录163邮箱和Locating Elements介绍

    Python爬虫视频教程零基础小白到scrapy爬虫高手-轻松入门 https://item.taobao.com/item.htm?spm=a1z38n.10677092.0.0.482434a6E ...

  6. Python 爬虫 Selenium 基本使用

    Python 爬虫 Selenium 基本使用 1. 基础知识 1.1 下载浏览器驱动 1.2 帮助文档 2. 浏览器操作 2.1 浏览器导航 2.2 窗口和选项卡 2.3 Frames and If ...

  7. Python爬虫-Selenium(1)

    Python爬虫-Selenium(1) @(博客)[python, 爬虫, selenium, Python] Python爬虫-Selenium(1) 前言 前期准备 基础使用 进阶使用 浏览器操 ...

  8. [Python爬虫] Selenium实现自己主动登录163邮箱和Locating Elements介绍

            前三篇文章介绍了安装过程和通过Selenium实现訪问Firefox浏览器并自己主动搜索"Eastmount"keyword及截图的功能.而这篇文章主要简介怎样实现 ...

  9. python爬虫selenium爬不到frame 的tag标记下#document==0的内容解决

    python爬虫selenium爬不到frame 的tag标记下#document==0的内容解决 前言 按理来说,selenium可以获取当前页面的所有源代码,但却爬不到frame 的tag标记下# ...

  10. python 爬虫+selenium 全自动化下载JS动态加载漫画

    ** python 爬虫+selenium 全自动化下载JS动态加载漫画 最近刚学的python,代码可能并不规范,希望大家见谅! 爬取之前,我们首先需要做一些准备工作,因为很多网站都有反爬检索,为了 ...

最新文章

  1. First non repeating word in a file? File size can be 100GB.
  2. 最全 Prometheus 踩坑集锦
  3. Java中重写equals()方法时注意点
  4. OpenCV图像发现轮廓函数findContours()的使用
  5. NuGet在Push的时候提示“远程服务器返回错误:(403)已禁用”问题解决
  6. powerdesigner连接db2生成模型步骤
  7. 学校计算机 电教材料账册,电教室管理制度
  8. 列表合并变种题,map()函数扩展
  9. vue避免重新渲染_详解强制Vue组件重新渲染的方法
  10. 11Linux_vmtools
  11. .net Core 安装在linux上
  12. 第十篇学会编写python代码_Python 强化训练:第十篇
  13. 云熙板式家具参数化拆单软件免锁版_数控开料机拆单软件如何选择?
  14. 实习成长之路:关于ElasticSearch深度分页带来的思考,如何解决深度分页和跳页
  15. 别被IBM抛出的“认知商业”搞晕 这里为你详解
  16. 在Fedora 28上安装LimeSurvey CE
  17. Nvivo 12 安装包可自动编码
  18. java设计模式-终结者者模式
  19. [C语言]显示器【模拟】
  20. 计算机/设备和驱动器下有一个空白盘符无法删除

热门文章

  1. mysql alter字段_mysql alter语句添加、修改、删除字段的例子
  2. alter table添加表约束
  3. python京东笔试题象棋马走到指定位置方法数
  4. 开启微信浏览器调试工具
  5. 〈西游记〉中所有插曲、主题曲
  6. Unity—背包系统(思路总括)
  7. 从历史故事看企业用人-之二--三国之东吴
  8. 希望各位大神能帮我指导一下!!!感激不尽!!!
  9. ai杀手级_设计师的10个杀手级Adobe Photoshop技巧
  10. 上海不行 java 地址识别 省、市、区,包括直辖市