当前位置: 首页 > news >正文

恒丰建设集团有限公司 网站/网文网站排名

恒丰建设集团有限公司 网站,网文网站排名,网站开发兼容,水利部建设经济定额站网站文章目录1、浏览器自带弹窗的操作说明:常用操作:示例:2、页面自定义弹窗操作需求:实现方式:示例:1、浏览器自带弹窗的操作 说明: webdriver中处理JavaScript所生成的alert、confirm以及prompt…

文章目录

      • 1、浏览器自带弹窗的操作
        • 说明:
        • 常用操作:
        • 示例:
      • 2、页面自定义弹窗操作
        • 需求:
        • 实现方式:
        • 示例:

1、浏览器自带弹窗的操作

说明:

webdriver中处理JavaScript所生成的alertconfirm以及prompt弹窗是很简单的。具体思路是使用switch_to.alert()方法定位到alert/confirm/prompt弹窗。然后使用text/accept/dismiss/send_keys方法按需进行操做。

常用操作:

操作说明
text返回alert/confirm/prompt 中的文字信息。
accept()点击弹窗中的确认按钮。(接收警告)
dismiss()点击弹窗中的取消按钮,如果有的话。(弹窗中的)
send_keys()输入文本到警告框,alert\confirm 没有对话框就不能用了,不然会报错。

示例:

页面代码片段:

<!DOCTYPE html>
<html lang="zh-cn">
<head><meta charset="UTF-8"><style type="text/css">button {padding: 8px;background: #f8f8f8;border-radius: 5px}</style>
</head>
<body>
<button type="button_alert" value="alert" id="alert" onclick="al()">button_alert</button>
<br>
<button type="button_confirm" value="confirm" id="confirm" onclick="con()">button_confirm</button>
<br>
<button type="button_prompt" value="prompt" id="prompt" onclick="pro()">button_prompt</button>
<br><script>function al() {alert('你是一个懂得爱自己的人!')}function con() {confirm('你是一个懂得爱自己的人?')}function pro() {prompt('请对自己说一句话!')}
</script>
</body>
</html>

脚本代码:

"""
1.学习目标:掌握浏览器自带弹窗的处理方法
2.语法(操作步骤):2.1 操作触发弹窗的元素2.2 获取弹窗(进入弹窗)alert = driver.switch_to.alert2.3 操作弹窗alert.text   获取弹窗文本alert.accept() 点击弹窗确定按钮alert.dismiss() 点击弹窗取消按钮alert.send_keys("输入内容") 在弹窗中输入文字
3.需求在页面中,操作浏览器自带弹窗
"""
# 1.导入selenium
from selenium import webdriver
from time import sleep
import os# 2.打开浏览器
driver = webdriver.Firefox()# 3.打开页面
url = "file:///" + os.path.abspath("./1.html")
driver.get(url)
sleep(2)# 4.处理浏览器自带弹窗
# 4.1 触发弹窗的元素button_alert,完成text和accept()方法
# 4.1.1 定位alert按钮,触发弹窗
el = driver.find_element_by_id("alert")
el.click()
sleep(2)# 4.1.2 获取弹窗(进入弹窗)
alert = driver.switch_to.alert# 4.1.3 获取弹窗文本值
print("弹窗文本值:", alert.text)# 4.1.4 点击弹窗确定按钮
alert.accept()
sleep(2)# 4.2 触发弹窗的元素button_confirm,完成dismiss()方法
# 4.2.1 定位confirm按钮,触发弹窗
el = driver.find_element_by_id("confirm")
el.click()
sleep(2)# 4.2.2 获取弹窗(进入弹窗)
confirm = driver.switch_to.alert# 4.2.3 获取弹窗文本值
print("弹窗文本值:", confirm.text)# 4.2.4 点击弹窗取消按钮
confirm.dismiss()
sleep(2)# 4.3 触发弹窗的元素button_prompt,完成send_keys("输入内容")方法
# 4.3.1 定位prompt按钮,触发弹窗
el = driver.find_element_by_id("prompt")
el.click()
sleep(2)# 4.3.2 获取弹窗(进入弹窗)
prompt = driver.switch_to.alert# 4.3.3 获取弹窗文本值
print("弹窗文本值:", prompt.text)# 4.3.4 点击弹窗确定按钮
prompt.send_keys("怎么显示不了")
sleep(2)# 4.3.5 点击弹窗确定按钮
prompt.accept()
sleep(2)# 5.关闭浏览器
driver.quit()

注意:prompt弹窗输入框,Chrome不显示输入文本

Python版本 3.7.7

  • Edge版本:18.18362,没有问题。
  • Firefox版本:76.0.1 (64 位),没有问题。
  • Chrome版本:74.0.3729.131(正式版本)32位,有问题。

2、页面自定义弹窗操作

由于alert弹窗不美观,现在大多数网站都会使用自定义弹窗,使用Selenium自带的方法就驾驭不了了,此时就要搬出JS方法来进行处理。

需求:

需求:去掉淘宝首页的自定义弹窗

淘宝首页的自定义弹窗如下:

在这里插入图片描述

提示:网页中弹出的对话框,也属于页面自定义弹窗,都可以用下面方式处理。

实现方式:

大家能看到,上图中的这种弹窗就是自定义弹窗的表现形式,处理这种弹窗可以利用HTMLDOMStyle对象中的一个display属性来处理,可以设置元素如何被显示。

详细解释可以参考:http://www.w3school.com.cn/jsref/prop_style_display.asp。

将display的值设置成none:此元素不会被显示,就可以去除这个弹窗了。

注意:手动页面刷新之后还会出现弹窗。

步骤如下:

# JavaScript语法
js = 'document.getElementById("div_company_mini").style.display="none";'# 使用Python执行JS语句
driver.execute_script(js1)

提示:

document.getElementById()是JS获取元素的方式,在JS获取元素方式中,就只有ById()获取的是一个元素。

其他获取元素的方式,都获取的是结果集,需要获取具体元素的时候,注意要使用索引。

简单举例:

  1. 通过ID获取(getElementById)
  2. 通过name属性(getElementsByName)
  3. 通过标签名(getElementsByTagName)
  4. 通过类名(getElementsByClassName)

示例:

"""
1.学习目标:了解关闭web页面自定义弹窗
2.语法(操作步骤)2.1 找到自定义弹窗的元素,修改样式:tyle.display='none'display='none'表示不显示样式,目的是将弹窗隐藏2.2 操作步骤js = document.getElementById("id属性值").style.display="none"或者其他的JS获取元素方式driver.execute_script(js)
3.需求隐藏页面自定义弹窗
"""
# 1.导入selenium
from selenium import webdriver
from time import sleep# 2.打开浏览器
driver = webdriver.Chrome()# 3.打开页面
url = "https://www.taobao.com/"
driver.get(url)
sleep(5)# 4.关闭自定义弹窗
js = 'document.querySelector("body > div.tbh-fixedtool.J_Module > div").style.display="none"'
driver.execute_script(js)
sleep(2)# 5.关闭浏览器
driver.quit()
http://www.lbrq.cn/news/4339.html

相关文章:

  • 石家庄网站建设推广公司报价/编程培训机构
  • 广州网站设计公司/seo效果分析
  • 公司网站建设意见/惠州seo排名公司
  • 网站qq在线状态/企业网站推广方案
  • 上海有名的网站建设公司/长春百度seo排名
  • 建设银行网站用户密码找回/seo黑帽是什么
  • 建设营销型网站流程/实时积分榜
  • 网站建设要学哪些软件有哪些内容/杭州seo专员
  • 前沿的设计网站/深圳网络推广
  • sns社交网站 有哪些/一个新产品策划方案
  • 电商平台如何搭建/搜索引擎优化的简称
  • 公司网站开发步骤/如何建立电商平台
  • 农产品电商网站建设/sem和seo是什么职业
  • 贵州做网站的公司有哪些/关键词的优化方案
  • 咸阳做网站/谷歌chrome安卓版
  • 工业设计公司经营范围/北京网站优化指导
  • 一个网站需要多少钱/营销网站建设规划
  • 东莞做网站还赚钱吗/种子搜索神器在线搜
  • vultr 做网站空间/百度云盘资源搜索
  • 四川网站网站建设/抖音指数
  • 丰县微网站开发/网页设计与制作考试试题及答案
  • 免费建设小说网站/网络营销课程思政
  • 网站新功能演示用什么技术做的/个人怎么做网站
  • 南宁专业网站建设/东莞seoseo关键词排名优化
  • 做问卷赚钱最好似网站/佛山做网站推广的公司
  • 门户网站区别/优化的含义是什么
  • 如何开发游戏/上海关键词seo
  • 京东上怎样做网站/网站规划与设计
  • 济南学生网站建设求职/关键词排名优化流程
  • wordpress 附件下载统计/网络营销的seo是做什么的
  • 9.从零开始写LINUX内核——设置中断描述符表
  • pyecharts可视化图表-pie:从入门到精通(进阶篇)
  • Flink的状态管理
  • 阿里云出里两款新的云服务器
  • RxJava Android 创建操作符实战:从数据源到Observable
  • git upstream