【Python + selenium】在浏览器打开新页签,打开方式

2017年09月06日 11:34:25 宇风-飞扬 阅读数:3472 标签: seleniumpython句柄移动 更多

个人分类: python

版权声明:希望与广大Python爱好者,可以相互交流,欢迎留言!欢迎转载(请注明出处) https://blog.csdn.net/EB_NUM/article/details/77864470

很过新接触selenium ,在爬取网页时,在新打开页面,总是抓取不到页面内容

原因如下:

  1. 打开链接,时间停留过短,网页还没打开,这是后你抓取网页内容,肯定是取不到的,一般可以利用driver.implicitly_wait(7) 设置智能等待。
  2. 如果是新打开的页签,这个时候一定要先移动句柄,再抓取网页内容
  3. 如果是当前页面,不能抓取内容,记得检查源码, 看看所需抓取内容是否是在ifream中的,如果在ifream中的,记得先找到ifream,在获取ifream中内容,例如
     iframe= driver.find_element_by_xpath(".//*[@id='container']/div[4]/iframe")driver.switch_to_frame(iframe)
  • 1
  • 2
  1. 可能有些刚接触selenium的同学 ,不知道如何打开一个新页签,下边我就给个事例:
            driver = webdriver.Firefox()#我们先打开一个网页driver.get("https://www.zhipin.com/user/login.html")#浏览器 新窗口打开连接newwindow = 'window.open("https://www.baidu.com")'driver.execute_script(newwindow)#移动句柄,对新打开页面进行操作driver.switch_to_window(driver.window_handles[1])#具体操作driver.find_element_by_xpath("")#关闭该新打开的页面driver.close()#不关闭,要移动到上一个页面,我们要移动句柄driver.switch_to_window(driver.window_handles[0])

【Python + selenium】在浏览器打开新页签相关推荐

  1. 【Python + selenium】在浏览器打开新页签,打开方式

    很过新接触selenium ,在爬取网页时,在新打开页面,总是抓取不到页面内容 原因如下: 打开链接,时间停留过短,网页还没打开,这是后你抓取网页内容,肯定是取不到的,一般可以利用driver.imp ...

  2. 【web自动化测试Robotframework开发手册—浏览器切换url和打开新页签】

    在使用robotframework+selenium2library框架进行web自动化测试的开发过程中,测试对象有时候会涉及到多个web网址,这时候该怎么切换浏览器的窗口或打开新url页签呢? 1. ...

  3. 前端笔记03——重复打开新页签问题

    今天遇到了一个前端问题,就是在点击链接或按钮时跳转新页签时,如果再次点击该按钮,还会重新打开一个页面,这里我想要再次点击按钮时定位到第一次打开的页面,于是就有了下面的代码. <!DOCTYPE ...

  4. 控制浏览器增加新页签的js_技术网站重写复制按键 js 跳转到注册页,就能增加用户?...

    背景 技术网站重写复制按键的 js ,作为开发人员你会为了复制一段代码而注册一个用户吗? 一个小需求变动,将跳转详情页改为 target=_blank 的方式打开新页面.原来用 Vue.js 的路由代 ...

  5. java 打开新页签_java – GWT打开页面在一个新的选项卡

    我正在开发GWT应用程序,我使用 com.google.gwt.user.client.Window.open(pageUrl, "_blank", ""); ...

  6. vue点击按钮打开新页签,并传参

    <div @click="btn">跳转 </div>btn() {let routeData = _this.$router.resolve({ path ...

  7. js 点击按钮打开浏览器新页签,兼容版

    话不多说直接上代码,这是千辛万苦寻来的,帮助需要帮助的人. <html><head>点击按钮打开浏览器新页签</head><body><div o ...

  8. router vue 页签文字_vueRouter点击打开新页签

    一.vue 路由使用 vue是单页面SPA,一般我们使用vue-router 设定路由进行页面跳转的时候,都是直接覆盖当前页面.比如,在a页面中有如下超链接 子任务详情 直接这样设置的话,会在当前页面 ...

  9. selenium如何通过快捷键关闭浏览器打开的新页签

    在做自动化的测试过程当中可能我们会操作各种浏览器,今天给大家说一说,如何关闭操作浏览器过程中出现的新的标签页,以selenium操作举个栗子: 因为我们操作的是浏览器的功能,并不是我们的测试项目或产品 ...

最新文章

  1. 【rabbitmq】Authentication failed (rejected by the remote node), please check the Erlang cookie
  2. C#中 paint()与Onpaint()的区别
  3. 国产海量存储系统的新突破
  4. Dijkstra迪杰斯特拉算法 C++实现
  5. 翻译:Asp.net中多彩下拉框的实现
  6. 淘宝端智能演进和思考
  7. Uvaoj 10048 - Audiophobia(Floyd算法变形)
  8. TDL(HDU-6641)
  9. Mybatis(17)注解方式增删改查单表
  10. SUN:开源在Web2.0时代
  11. linux下php-5.4.8.tar.gz编译安装全攻略
  12. 八、开发者工具和指南(三) Source code organization
  13. Tampermonkey 编写一个首页跳转的脚本
  14. Android滑动返回上一级界面
  15. FreeImage使用方法
  16. [HTML+CSS+Vue.js] 超长文本等内容默认折叠显示,点击展开全文,再点击收起(仿知乎效果)
  17. 敏捷测试的关键成功要素
  18. C#生成与识别条形码、二维码示例 zxing、 barcodelib生成条形码 code128B等 无白边 自动宽度
  19. 梯度消失,梯度爆炸产生的原因及解决办法
  20. kafka集群开启sasl认证

热门文章

  1. Educoder头歌单总线CPU设计(定长指令周期3级时序)(HUST)谭志虎 华中科技大学计算机组成原理实验计算机硬件系统设计
  2. 分享一下我的一些学习方法
  3. 英魂之刃服务器维护在几点,2016英魂之刃8.19有没有维护
  4. 浪潮IPBS9505S短接线刷固件(附教程)
  5. 什么是奇异值分解(SVD)?
  6. 1.ME32F103单片机ADC和DMA
  7. CoolEdit导出片段文件
  8. Java基础 —— 编程入门
  9. 从零开始实现放置游戏(十一)——实现战斗挂机(2)注册登陆和游戏主界面
  10. Packetdrill(网络协议测试工具)