Selenium Python教程第7章:Selenium编程其它功能

这篇具有很好参考价值的文章主要介绍了Selenium Python教程第7章:Selenium编程其它功能。希望对大家有所帮助。如果存在错误或未考虑完全的地方,请大家不吝赐教,您也可以点击"举报违法"按钮提交疑问。

Selenium Python教程第7章:Selenium编程其它功能

7. Selenium其它功能

7.1 Action Chains 动作链功能

WebDriver只能模拟针对特定元素的click, send_keys 操作,无法执行鼠标移动、悬浮、按键,选择菜单等操作,需要通过 Action Chains 类来操作
如下面操作,打开主菜单项后,再点击弹出的子菜单项

menu = driver.find_element_by_css_selector(".nav")
hidden_submenu = driver.find_element_by_css_selector(".nav # submenu1")
ActionChains(driver).move_to_element(menu).click(hidden_submenu).perform()

也可以将多个动作排队,最后再执行

menu = driver.find_element_by_css_selector(".nav")
hidden_submenu = driver.find_element_by_css_selector(".nav # submenu1")
  
actions = ActionChains(driver)
actions.move_to_element(menu)
actions.click(hidden_submenu)
actions.perform()

Selenium Python动作链支持的操作
可以使用动作链执行大量操作,例如单击,右键单击等。以下是动作链中使用的重要方法的列表

Method Description
click Clicks an element.
click_and_hold Holds down the left mouse button on an element.
context_click Performs a context-click (right click) on an element.
double_click Double-clicks an element.
drag_and_drop Holds down the left mouse button on the source element, then moves to the target element and releases the mouse button.
drag_and_drop_by_offset Holds down the left mouse button on the source element, then moves to the target offset and releases the mouse button.
key_down Sends a key press only, without releasing it.
key_up Releases a modifier key.
move_by_offset Moving the mouse to an offset from current mouse position.
move_to_element Moving the mouse to the middle of an element.
move_to_element_with_offset Move the mouse by an offset of the specified element, Offsets are relative to the top-left corner of the element.
perform Performs all stored actions.
pause Pause all inputs for the specified duration in seconds
release Releasing a held mouse button on an element.
reset_actions Clears actions that are already stored locally and on the remote end
send_keys Sends keys to current focused element.

7.2 Alert 告警提示窗口相关操作

Selenium中的告警窗是一个小消息框,出现在屏幕上,为用户提供一些信息或通知。它通知用户一些特定信息或错误,请求执行某些任务的权限,还提供警告消息。

Alert 告警窗口的类型

1) 简单告警窗
Selenium Python教程第7章:Selenium编程其它功能
主要用于显示一些信息

2)输入型提示窗
此类告警空会询问用户的一些输入,Selenium 网络驱动程序可以使用 sendkeys(“ input…").
Selenium Python教程第7章:Selenium编程其它功能
3) 确认窗口
提供几个操作选项,供用户选择
Selenium Python教程第7章:Selenium编程其它功能

编程步骤
1)每当触发警报时,网页上都会出现一个弹出窗口。控件仅保留在父网页中。因此,Selenium Webdriver 的第一个任务是将焦点从父页面切换到警报弹出窗口。可以使用以下代码片段完成此操作。

alert_obj = driver.switch_to.alert

2 ) 控件移动到弹出窗口后,我们可以使用推荐的方法对其执行不同的操作。
alert_obj.accept() – 用于接受提示窗口
alert_obj.dismiss() – 用于取消提示窗口
alert.send_keys() – 向提示窗口文本输入框输入内容
alert.text() – 获取提示信息

处理简单告警窗口

简单告警窗上有一条消息和一个“确定”按钮。当它弹出时,用户单击“确定”按钮接受它。

这是HTML代码,它将在单击主页上的“创建告警”按钮时生成简单告警
Simple_Alert.html

<!DOCTYPE html>
<html>
<body bgcolor="#C0C0C0">
<h1>
Simple Alert Demonstration</h1>
<p>
click the Below Button to create an Alert</p>
<button onclick="alertFunction()" name ="alert"> Create Alert</button>
<script>
function alertFunction() {
 alert("Hi!, I am a Simple Alert. Please Click on the 'OK' Button.");
}
</script>
</body>
</html>

下面是selenium处理代码

from selenium import webdriver
import time

driver = webdriver.Firefox()
driver.maximize_window()
location = "file://<Specify Path to Simple_Alert.HTML>"
driver.get(location)

#Click on the "Alert" button to generate the Simple ert
button = driver.find_element_by_name('alert')
button.click()

#Switch the control to the Alert window
obj = driver.switch_to.alert

#Retrieve the message on the Alert window
msg=obj.text
print ("Alert shows following message: "+ msg )

time.sleep(2)

#use the accept() method to accept the alert
obj.accept()

print(" Clicked on the OK Button in the Alert Window")

driver.close

处理输入提示框

如下提示框:
Selenium Python教程第7章:Selenium编程其它功能
selenium代码如下:文章来源地址https://www.toymoban.com/news/detail-496437.html


from selenium import webdriver
import time

driver = webdriver.Firefox()
driver.maximize_window()
location = "file://<Specify Path to Prompt_Alert.HTML>"
driver.get(location)

#Click on the "employeeLogin" button to generate the Prompt Alert
button = driver.find_element_by_name('continue')
button.click()

#Switch the control to the Alert window
obj = driver.switch_to.alert

time.sleep(2)

#Enter text into the Alert using send_keys()
obj.send_keys('Meenakshi')

time.sleep(2)

#use the accept() method to accept the alert
obj.accept()

#Retrieve the message on the Alert window
message=obj.text
print ("Alert shows following message: "+ message )

time.sleep(2)

obj.accept()

#get the text returned when OK Button is clicked.
txt = driver.find_element_by_id('msg')
print(txt.text)

driver.close

到了这里,关于Selenium Python教程第7章:Selenium编程其它功能的文章就介绍完了。如果您还想了解更多内容,请在右上角搜索TOY模板网以前的文章或继续浏览下面的相关文章,希望大家以后多多支持TOY模板网!

本文来自互联网用户投稿,该文观点仅代表作者本人,不代表本站立场。本站仅提供信息存储空间服务,不拥有所有权,不承担相关法律责任。如若转载,请注明出处: 如若内容造成侵权/违法违规/事实不符,请点击违法举报进行投诉反馈,一经查实,立即删除!

领支付宝红包 赞助服务器费用

相关文章

  • 【爬虫开发】爬虫从0到1全知识md笔记第5篇:Selenium课程概要,selenium的其它使用方法【附代码文档】

    爬虫开发从0到1全知识教程完整教程(附代码资料)主要内容讲述:爬虫课程概要,爬虫基础爬虫概述, ,http协议复习。requests模块,requests模块1. requests模块介绍,2. response响应对象,3. requests模块发送请求,4. requests模块发送post请求,5. 利用requests.session进行状态保持。数据提取概要

    2024年04月16日
    浏览(66)
  • python爬虫selenium+scrapy常用功能笔记

    访问网址可以看到直观结果 https://bot.sannysoft.com/ 获取页面dom 页面元素获取 元素点击 frame跳转 获取cookie 给请求添加cookie 点击 上传文件 退出页面 多摘自之前文档 https://blog.csdn.net/weixin_43521165/article/details/111905800 创建项目 scrapy startproject 爬虫项目名字 # 例如 scrapy startproject f

    2023年04月20日
    浏览(61)
  • 好用的编程软件5个(全部免费,带链接加其它软件推荐)

    提示:这个目录有问题,最好用左边的 前言 提示 编程软件 1.VS code(全称:Visual Studio Code) 2.HBuilderX 3.Eclipse(集成开发环境) 4.Notepad++ 5.Dev-C++(别名:Dev-cpp) 附录 1.其它软件推荐: 2.后记 3.投票 编程,肯定少不了一些编程软件,以下是5个实用的编程软件。(第一次发文章

    2024年02月04日
    浏览(36)
  • Python使用Selenium模拟浏览器自动操作功能

    概述 在进行网站爬取数据的时候,会发现很多网站都进行了反爬虫的处理,如JS加密,Ajax加密,反Debug等方法,通过请求获取数据和页面展示的内容完全不同,这时候就用到Selenium技术,来模拟浏览器的操作,然后获取数据。本文以一个简单的小例子,简述Python搭配Tkinter和

    2024年01月17日
    浏览(73)
  • django后台管理中导出Excel表格与其它表格数据等功能

    需求,在django admin后台中添加导出excel表格功能 需求人群:财务,董事 该插件允许导出文件的格式为:xls,xlsx,csv,tsv,ods,json,yaml,html 执行该命令将会安装以下插件 ![[Pasted image 20240119043040.png]] ![[Pasted image 20240119043224.png]] 3在订单models.py相同路径中创建resources.py文件 ![[Pasted image 2

    2024年01月25日
    浏览(54)
  • 远程操控其它电脑--详细教程

    前言 平时常使用笔记本,但笔记本没有独显,无法使用cuda训练模型,而家里台式机有独显,那么在外地远程操控家里的台式就很有用了。(尽管可以用vim编辑代码,但在没有跑通的前提下,还是在本地编辑效率高很多) 注意:如果被操控的电脑是windows家庭版,那么就无法远

    2024年02月12日
    浏览(38)
  • Python + selenium实战:自动化登录功能测试用例,入门级!

    测试行业真是越来越卷了,点点点几乎没有竞争力,入行几乎都需要掌握一些自动化技术,本文就小编最近学习的 python + selenium 进行一个简单的登录功能实现 适用对selenium python unittest有一些了解的同学,大佬轻喷~ python selenium time ddt openpyxl unittest HTMLTestRunner data/login.xlsx 将

    2024年01月18日
    浏览(60)
  • selenium+python安装教程

    1.安装python3.8+,若有其他版本要切换到python3.8+版本的解释器,若版本过低selenium会安装失败,并新建一个python3.8+版本的项目,可在文件——设置——项目——Python解释器进行修改解释器版本 2.安装selenium,可以在终端pip安装,也可以在pycharm的项目管理中安装 文件——设置—

    2024年02月09日
    浏览(33)
  • python selenium 爬虫教程

    Python和Selenium是很强大的爬虫工具,可以用于自动化地模拟浏览器行为,从网页中提取数据。下面是一个简单的使用Python和Selenium进行爬虫的案例。 1. 安装和配置: 首先,你需要安装Python和Selenium。可以使用pip命令来安装Selenium库: pip install selenium 。 然后,你还需要下载对应

    2024年02月09日
    浏览(86)
  • Python+Selenium教程

    Selenium是一个用电脑模拟人操作浏览器网页,可以实现自动化。以下是详细教程。 或者直接在pycharm中打开项目,点击file—settings—Project----Python Interpreter点击“+”号,在弹出的框框里面输入selenium进行搜索下载安装。参考见下图: Firefox浏览器驱动: geckodriver Chrome浏览器驱动

    2024年02月06日
    浏览(35)

觉得文章有用就打赏一下文章作者

支付宝扫一扫打赏

博客赞助

微信扫一扫打赏

请作者喝杯咖啡吧~博客赞助

支付宝扫一扫领取红包,优惠每天领

二维码1

领取红包

二维码2

领红包