之前的文章有关于更多操作方式详细解答,本篇基于前面的知识点进行操作,如果不了解可以先看之前的文章
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无法点击的登陆问题相关推荐

  1. python爬虫十二种方法_Python爬虫的N种姿势

    问题的由来 前几天,在微信公众号(Python爬虫及算法)上有个人问了笔者一个问题,如何利用爬虫来实现如下的需求,需要爬取的网页如下(网址为:https://www.wikidata.org/w/in ...

  2. Python爬虫的两种请求方式,读者都了解吗?

    Python爬虫中的get和post请求 前言 Python爬虫请求数据有get和post两种请求方式,也许读者对于它们的应用已经掌握到炉火纯青的地步了,但是关于它们的基本语法是否了解吗? 文章目录 ...

  3. python爬虫遇到验证码、输入验证码后提醒验证码错误_爬虫遇到头疼的验证码?Python实战讲解弹窗处理和验证码识别...

    前言 在我们写爬虫的过程中,目标网站常见的干扰手段就是设置验证码等,本就将基于Selenium实战讲解如何处理弹窗和验证码,爬取的目标网站为某仪器预约平台 可以看到登录所需的验证码构成比较简单,是彩色 ...

  4. python爬虫中三种数据解析方式

    一.正解解析 常用正则表达式: 单字符: .: 除换行以外所有字符 []:[aoe] [a-w]匹配集合中任意一个字符 \d:数字 [0-9] \D: 非数字 \w :数字.字母.下划线.中文 \W ...

  5. python爬虫:两种方法模拟登录博客园

    第一方法用第三方库(requests):参考http://www.mamicode.com/info-detail-1839685.html 源代码分析 博客园的登录页面非常简单,查看网页源代码,可以 ...

  6. python爬虫有几种方法_python爬虫-----Python访问http的几种方式

    爬取页面数据,我们需要访问页面,发送http请求,以下内容就是Python发送请求的几种简单方式: 会使用到的库 urllib requests 1.urlopen import urllib.req ...

  7. python爬虫有几种方法_基于Python爬虫的几种方法,python

    一  requests,json格式数据 #1.获取链接 url = #2.获取响应 response = requests.get(url) response = response.content. ...

  8. python爬虫入门_3种方法爬取古诗文网站

    目的: 爬取古诗文网的古诗词,获取详细信息,目标网站:https://www.gushiwen.org/default.aspx?page=1 1.根据网页分析可知 下面包含了当前页面的所有信息,所以 ...

  9. 【python爬虫】js逆向:空气质量在线平台,解决反调试,加密

    js逆向:pyhon爬虫空气质量,无线debugger,AES,DES,MD5加密 前言 解决无限debugger 第一次debugger 第二次debugger 加密解密流程分析 请求数据加密 返回 ...

最新文章

  1. dx200手环使用方法_硅胶手环的缺点有哪些?
  2. Python基础教程:线程操作(oncurrent模块)详解
  3. 网站测试自动化系统—系统应该有的功能
  4. 安装 Go 第三方包 go-sqlite3
  5. Spring Boot配置多数据源
  6. 在SD/MMC卡中可读写的FAT文件系统
  7. 高等数学上-赵立军-北京大学出版社-题解-练习5.5
  8. Collection中list集合的应用常见的方法
  9. 风雨20年:我所积累的20条编程经验 (转)
  10. mysql+e+文件+xls_TP5+PHPexcel导入xls,xlsx文件读取数据
  11. 【译】怎样处理 Safari 移动端对图片资源的限制
  12. (NO.00003)iOS游戏简单的机器人投射游戏成形记(一)
  13. 1.MAC中MySql的环境配置
  14. 网易云音乐api资料
  15. Mac 下 maven 安装与配置
  16. 自学C语言和C++,有什么好书推荐?
  17. HackMyvm(九)Gigachad持续更新
  18. MSN聊天记录备份和还原方法
  19. 3d游戏设计读书笔记三
  20. Vin码识别功能实现

热门文章

  1. 寻亲32年后找回被拐儿子!全国打拐第一数据库立功,为0-14岁儿童预存DNA信息...
  2. 大数据_数据中台建设五步走
  3. 软件测试人员棘手的问题,一个很棘手的问题,为什么人员全检后还有不良?
  4. python模拟生成steam手机二次验证令牌
  5. 市面上主流TPMS胎压芯片介绍
  6. 数据分析和用户增长的思维导图
  7. html计算两个数相乘,多个矩阵相乘运算顺序
  8. C语言中sqrt计算平方根的几种方法C++算法详细解释
  9. 腾讯云数据库购买和操作指南
  10. 《VLSI数字信号处理系统设计与实现》(1)