Python爬虫(7)selenium3种弹窗定位后点击操作,解决点击登录被隐藏iframe无法点击的登陆问题

news/2024/7/19 10:10:00 标签: python, 爬虫, 开发语言, selenium, 隐藏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 By

driver = 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窗口

在这里插入图片描述


http://www.niftyadmin.cn/n/82256.html

相关文章

游戏服务器算法-AOI基本介绍

一、直接比较所有对象 最直观也是最效率最低的一种方法。当一个事件发生,我们需要获得AOI范围以内的物体时,直接遍历游戏中所有的对象,并且进行坐标判断,如果小于或者等于AOI的范围,则为需要的游戏对象。 这种方法实…

三、NetworkX工具包实战3——特征工程【CS224W】(Datawhale组队学习)

开源内容:https://github.com/TommyZihao/zihao_course/tree/main/CS224W 子豪兄B 站视频:https://space.bilibili.com/1900783/channel/collectiondetail?sid915098 斯坦福官方课程主页:https://web.stanford.edu/class/cs224w NetworkX…

CTFer成长之路之CTF中的SQL注入

CTF中的SQL注入CTF SQL注入 SQL注入-1 题目描述: 暂无 docker-compose.yml version: 3.2services:web:image: registry.cn-hangzhou.aliyuncs.com/n1book/web-sql-1:latestports:- 80:80启动方式 docker-compose up -d 题目Flag n1book{union_select_is_so_cool} Wri…

Java之关于String字符串笔试面试重点

目录 一.关于字符串的常量池 1.关于字符串产生的三种方式 2.关于字符串的常量池 3.直接赋值法和new的方式产生对象的区别 二.关于intern方法 1.情况一(已经包含) 2.情况二(已经包含) 3.情况三(未包含) 4.情况四 三.关于字符串的不可变性 1.了解字符串的不可变性 2.Str…

第五、六章 贪心算法、回溯算法

贪心算法 适合于贪心算法求解的问题具有:贪心选择性质、最优子结构性质。 贪心算法可以获取到问题的局部最优解,不一定能获取到全局最优解。 贪心算法总是作出在当前看来最好的选择;并且每次贪心选择都能将问题化简为一个更小的与原问题具有…

简记:清理指定后缀名文件的 powerhsell 小脚本

清理指定后缀名文件的 powerhsell 小脚本jcLee95:https://blog.csdn.net/qq_28550263?spm1001.2101.3001.5343 邮箱 :291148484163.com 本文地址:https://blog.csdn.net/qq_28550263/article/details/129121074 1.介绍 相关工具代码 2.目…

SAP 解析固定资产的减值功能

SAP固定资产的减值功能 若固定资产出现减值迹象,也就是固定资产的可收回金额小于账面价值时,就要计提固定资产减值准备。 分录: 借:资产减值损失(损益科目) 贷:固定资产减值准备(资…

jenkins下载与简单使用

1.jenkins下载 因为我仍然使用的是jdk1.8进行开发,所以我下载的是jenkins2.332.1版本(jenkins2.346.1版本在2022年末不再支持java8,如果项目使用的是jdk11可以继续使用该jenkins版本),更多版本下载请点击jenkins下载 …