Python爬虫(7)selenium3种弹窗定位后点击操作,解决点击登录被隐藏iframe无法点击的登陆问题
之前的文章有关于更多操作方式详细解答,本篇基于前面的知识点进行操作,如果不了解可以先看之前的文章
Python爬虫(1)一次性搞定Selenium(新版)8种find_element元素定位方式
Python爬虫(2)-Selenium控制浏览器
Python爬虫(3)-Selenium结合pywin32模拟键盘操作
Python爬虫(4)-Selenium模拟鼠标操作
Python爬虫(5)-selenium用显式等待、隐式等待、强制等待,解决反复爬取网页时无法定位元素问题
Python爬虫(6)-selenium用requests、wget、urllib3这3种方法搞定图片和PDF文件下载
弹窗的样例主要是基于这个网站,需要测试使用时可以用jQuery Mobile 弹窗
Python爬虫(7)selenium3种弹窗定位后点击操作,解决点击登录被隐藏iframe无法点击的登陆问题
- 1.第一种alert弹出弹框,需要点击确定或取消然后显示信息
- 2.确认框类型的弹窗
- 3.点击上传文件类型的弹窗
- 4.解决点击登录被隐藏iframe无法点击的登陆问题
1.第一种alert弹出弹框,需要点击确定或取消然后显示信息
from selenium import webdriver
driver = webdriver.Chrome()
driver.get('file:///D:/workhome/te/alert.html')
driver.maximize_window()#窗口最大化
driver.implicitly_wait(5)
at = driver.switch_to.alert
at.accept()#点击确定
at.dismiss()#点击取消
点击后显示出来
2.确认框类型的弹窗
点击确认框-点击确定就显示删除的信息
先用F12,找到这个元素的定位信息传给selenium,右键复制xpath的地址
from selenium import webdriver
from selenium.webdriver.common.by import Bydriver = webdriver.Chrome()
driver.get('file:///D:/workhome/te/enter.html')
driver.maximize_window()
driver.implicitly_wait(5)
driver.find_element(By.XPATH,('/html/body/div/input')).click()
at = driver.switch_to.alert
at.accept()
3.点击上传文件类型的弹窗
上传完后会显示一个上传的信息
from selenium import webdriver
from selenium.webdriver.common.by import By
driver = webdriver.Chrome()
driver.get('file:///D:/workhome/te/upload_file.html')
driver.maximize_window()
driver.implicitly_wait(5)
file = r'D:\1.txt'#上传本地文件
fup = driver.find_element_by_id('file')# 点击上传按钮上传本地文件
fup.send_keys(file)
4.解决点击登录被隐藏iframe无法点击的登陆问题
某些特殊的网站由于设置了隐藏iframe导致无法进行点击登录的情况,对于这种,首先我们需要切换到iframe弹窗,然后再进行点击操作,再对要点击弹框进行点击即可进入到相应的页面
from selenium import webdriver
from selenium.webdriver.common.by import By
driver = webdriver.Chrome()
driver.get('登录的网址')
iframeto = driver.find_element(By.ID,'ptlogin_iframe') #定位第一层iframe窗口
driver.switch_to.frame(iframeto)#切换到对应iframe窗口
driver.find_element(By.ID,'需要被点击的登录元素').click()
driver.switch_to.default_content()#退出iframe窗口
Python爬虫(7)selenium3种弹窗定位后点击操作,解决点击登录被隐藏iframe无法点击的登陆问题相关推荐
- python爬虫十二种方法_Python爬虫的N种姿势
问题的由来 前几天,在微信公众号(Python爬虫及算法)上有个人问了笔者一个问题,如何利用爬虫来实现如下的需求,需要爬取的网页如下(网址为:https://www.wikidata.org/w/in ...
- Python爬虫的两种请求方式,读者都了解吗?
Python爬虫中的get和post请求 前言 Python爬虫请求数据有get和post两种请求方式,也许读者对于它们的应用已经掌握到炉火纯青的地步了,但是关于它们的基本语法是否了解吗? 文章目录 ...
- python爬虫遇到验证码、输入验证码后提醒验证码错误_爬虫遇到头疼的验证码?Python实战讲解弹窗处理和验证码识别...
前言 在我们写爬虫的过程中,目标网站常见的干扰手段就是设置验证码等,本就将基于Selenium实战讲解如何处理弹窗和验证码,爬取的目标网站为某仪器预约平台 可以看到登录所需的验证码构成比较简单,是彩色 ...
- python爬虫中三种数据解析方式
一.正解解析 常用正则表达式: 单字符: .: 除换行以外所有字符 []:[aoe] [a-w]匹配集合中任意一个字符 \d:数字 [0-9] \D: 非数字 \w :数字.字母.下划线.中文 \W ...
- python爬虫:两种方法模拟登录博客园
第一方法用第三方库(requests):参考http://www.mamicode.com/info-detail-1839685.html 源代码分析 博客园的登录页面非常简单,查看网页源代码,可以 ...
- python爬虫有几种方法_python爬虫-----Python访问http的几种方式
爬取页面数据,我们需要访问页面,发送http请求,以下内容就是Python发送请求的几种简单方式: 会使用到的库 urllib requests 1.urlopen import urllib.req ...
- python爬虫有几种方法_基于Python爬虫的几种方法,python
一 requests,json格式数据 #1.获取链接 url = #2.获取响应 response = requests.get(url) response = response.content. ...
- python爬虫入门_3种方法爬取古诗文网站
目的: 爬取古诗文网的古诗词,获取详细信息,目标网站:https://www.gushiwen.org/default.aspx?page=1 1.根据网页分析可知 下面包含了当前页面的所有信息,所以 ...
- 【python爬虫】js逆向:空气质量在线平台,解决反调试,加密
js逆向:pyhon爬虫空气质量,无线debugger,AES,DES,MD5加密 前言 解决无限debugger 第一次debugger 第二次debugger 加密解密流程分析 请求数据加密 返回 ...
最新文章
- dx200手环使用方法_硅胶手环的缺点有哪些?
- Python基础教程:线程操作(oncurrent模块)详解
- 网站测试自动化系统—系统应该有的功能
- 安装 Go 第三方包 go-sqlite3
- Spring Boot配置多数据源
- 在SD/MMC卡中可读写的FAT文件系统
- 高等数学上-赵立军-北京大学出版社-题解-练习5.5
- Collection中list集合的应用常见的方法
- 风雨20年:我所积累的20条编程经验 (转)
- mysql+e+文件+xls_TP5+PHPexcel导入xls,xlsx文件读取数据
- 【译】怎样处理 Safari 移动端对图片资源的限制
- (NO.00003)iOS游戏简单的机器人投射游戏成形记(一)
- 1.MAC中MySql的环境配置
- 网易云音乐api资料
- Mac 下 maven 安装与配置
- 自学C语言和C++,有什么好书推荐?
- HackMyvm(九)Gigachad持续更新
- MSN聊天记录备份和还原方法
- 3d游戏设计读书笔记三
- Vin码识别功能实现