使用Python爬取弹出窗口信息的实例


Posted in Python onMarch 14, 2020

此文仅当学习笔记用.

这个实例是在Python环境下如何爬取弹出窗口的内容,有些时候我们要在页面中通过点击,然后在弹出窗口中才有我们要的信息,所以平常用的方法也许不行.

这里我用到的是Selenium这个工具, 不知道的朋友可以去搜索一下. 但是安装也是很费事的. 而且我用的浏览器是firefox,不用IE是因为好像新版的IE在Selenium下有问题,我也是百思不得其解, 网上也暂时没找到好的办法.

from selenium import webdriver
from selenium.webdriver.common.keys import Keys
import os,time
browser=webdriver.Firefox(executable_path='d:\\Anaconda\\pkgs\\spyder-3.2.8-py36_0\\geckodriver.exe') #括号中的也是非典型的安装firefox驱动的方法,常规的方法我一直试的不行,但这种方法包管行.
browser.get('http://XXX.XXX.com/fenxi/yazhi-734155') #输入你的目标网址
time.sleep(3) #打开网址后休息3秒钟,可用可不用
browser.find_element_by_xpath('//*[@id="6"]/td[4]').click() #找到想要点击的元素,然后进行点击动作,让窗口弹出来
handle=browser.current_window_handle #获得当前窗口,也就是弹出的窗口句柄,什么是句柄我也解释不清楚,反正它代表当前窗口
browser.switch_to_window(handle) #转到当前弹出窗口
s=browser.find_element_by_xpath('//*[@id="tipdiv"]/div[2]/table/tbody') #找到装有你要信息的元素
print(s.text) #打印文本内容
time.sleep(2) #休息2秒,让浏览器喘口气
browser.find_element_by_xpath('//*[@id="link106"]').click() #最后关掉弹出窗口. 这又是一个非典型方法,我是直接找到小窗口的叉叉来点击关掉了,实际上Selinium有关闭当前窗口的方法,也就是close()或者quit(),但问题是搞来搞去不行啊?我的理解是目前的窗口依然是那个弹出的窗口,但handle.close等其它方法都不行. 所以我干脆用这样的方法,找到叉叉的元素,然后点击.

最后找元素我还是喜欢用xpath,有个小窍门,那就是在浏览器的开发者工具那里面,找到需要元素的元代码,然后右键选择Copy Xpath就有了,相当方便.

补充知识:python自动化测试中,点击【查看】按钮,弹窗出不来怎么办?

一、在用python写UI自动化测试的时候,可能会遇到明明用.click()点击了【查看】按钮,但是弹窗弹不出来;

遇到这个问题的时候,不妨可以试试模拟键盘的操作,利用.send_keys(Keys.ENTER)便可以解决这个问题;

代码:

driver.find_element_by_xpath(“//*[@id='main']/div/div[3]/div/div/div[2]/div/div[2]/div[2]/div/div[2]/table/tbody/tr/td[9]/div/button/span”).click()

修改为:

driver.find_element_by_xpath(“//*[@id='main']/div/div[3]/div/div/div[2]/div/div[2]/div[2]/div/div[2]/table/tbody/tr/td[9]/div/button/span”).send_keys(Keys.ENTER)

使用Python爬取弹出窗口信息的实例

以上这篇使用Python爬取弹出窗口信息的实例就是小编分享给大家的全部内容了,希望能给大家一个参考,也希望大家多多支持三水点靠木。

Python 相关文章推荐
Python入门篇之文件
Oct 20 Python
Python实现删除文件中含“指定内容”的行示例
Jun 09 Python
教你用 Python 实现微信跳一跳(Mac+iOS版)
Jan 04 Python
Python实现的求解最大公约数算法示例
May 03 Python
win7+Python3.5下scrapy的安装方法
Jul 31 Python
python采集微信公众号文章
Dec 20 Python
使用Python的OpenCV模块识别滑动验证码的缺口(推荐)
May 10 Python
开启Django博客的RSS功能的实现方法
Feb 17 Python
python 如何调用远程接口
Sep 11 Python
Python使用socket_TCP实现小文件下载功能
Oct 09 Python
Pytorch DataLoader shuffle验证方式
Jun 02 Python
Python+OpenCV实现在图像上绘制矩形
Mar 21 Python
解决django中form表单设置action后无法回到原页面的问题
Mar 13 #Python
浅谈在django中使用redirect重定向数据传输的问题
Mar 13 #Python
在Django中预防CSRF攻击的操作
Mar 13 #Python
Anaconda+Pycharm环境下的PyTorch配置方法
Mar 13 #Python
Pycharm中切换pytorch的环境和配置的教程详解
Mar 13 #Python
django 取消csrf限制的实例
Mar 13 #Python
django-csrf使用和禁用方式
Mar 13 #Python
You might like
下拉列表多级联动dropDownList示例代码
2013/06/27 PHP
Windows下的PHP 5.3.x安装 Zend Guard Loader教程
2014/09/06 PHP
Yii实现显示静态页的方法
2016/04/25 PHP
不用ajax实现点击文字即可编辑的方法
2007/12/16 Javascript
详解JavaScript中的every()方法
2015/06/08 Javascript
自定义require函数让浏览器按需加载Js文件
2016/11/24 Javascript
Bootstrap基本模板的使用和理解1
2016/12/14 Javascript
JavaScript中Math对象的方法介绍
2017/01/05 Javascript
js图片放大镜效果实现方法详解
2020/10/28 Javascript
JS计算两个时间相差分钟数的方法示例
2018/01/10 Javascript
基于vue展开收起动画的示例代码
2018/07/05 Javascript
webpack-mvc 传统多页面组件化开发详解
2019/05/07 Javascript
详解 微信小程序开发框架(MINA)
2019/05/17 Javascript
在vue中使用jsx语法的使用方法
2019/09/30 Javascript
VUE中鼠标滚轮使div左右滚动的方法详解
2020/12/14 Vue.js
Python Matplotlib库入门指南
2015/05/18 Python
Python使用django框架实现多人在线匿名聊天的小程序
2017/11/29 Python
Python IDLE清空窗口的实例
2018/06/25 Python
Python基于datetime或time模块分别获取当前时间戳的方法实例
2019/02/19 Python
简单易懂Pytorch实战实例VGG深度网络
2019/08/27 Python
Python基于WordCloud制作词云图
2019/11/29 Python
python 实现将Numpy数组保存为图像
2020/01/09 Python
tensorflow 实现打印pb模型的所有节点
2020/01/23 Python
对pytorch的函数中的group参数的作用介绍
2020/02/18 Python
关于python中的xpath解析定位
2020/03/06 Python
解决django 向mysql中写入中文字符出错的问题
2020/05/18 Python
Ubuntu配置Pytorch on Graph (PoG)环境过程图解
2020/11/19 Python
将SVG图引入到HTML页面的实现
2019/09/20 HTML / CSS
优秀教师先进事迹
2014/01/22 职场文书
晚会主持词开场白
2014/03/17 职场文书
朋友聚会开场白
2015/06/01 职场文书
nginx限制并发连接请求数的方法
2021/04/01 Servers
将Python代码打包成.exe可执行文件的完整步骤
2021/05/12 Python
vue实现Toast组件轻提示
2022/04/10 Vue.js
nginx lua 操作 mysql
2022/05/15 Servers
JavaScript前端面试组合函数
2022/06/21 Javascript