首页 > 其他 > 详细

selenium之鼠标悬停/警告框处理/多窗口切换/下拉菜单的处理的介绍

时间:2018-08-22 20:11:13      阅读:220      评论:0      收藏:0      [点我收藏+]

一.鼠标悬停

代码里要引入ActionChains包,代码如下:

from selenium.webdriver.commom.action_chains import ActionChains

a.ActionChains----悬停类

b.move_to_element()----移动鼠标

c.perform()----让悬停生效

例子:

from selenium import webdriver

from time import sleep

from selenium.webdriver.common.action_chains import ActionChains #引入ActionChains包

dr=webdriver.Chrome()

dr.get("https://www.baidu.com/")

ele=dr.find_element_by_link_text("设置")

ActionChains(dr).move_to_element(ele).perform() #让鼠标悬停在ele上

二.警告框的处理

1.警告框有三种表现形式

a.alert----只有一个确定按钮

b.confirm---有一个确定按钮和一个取消按钮

c.prompt----有一个确定按钮和一个取消按钮,还有一个文本框,需要用到web定位

2.以上三种形式的操作方法如下:

a.switch_to.alert.text----打印弹框的内容

b.switch_to.alert.accept()----接收点击确认

c.switch_to.alert.dismiss()----点击取消

d.switch_to.alert.sendkeys()----输入值,alert/confirm如果没有对话框就不能用了,否则会报错

例子:

from selenium import webdriver

from selenium.webdriver.common.action_chains import ActionChains

from time import sleep

dr=webdriver.Chrome()

dr.get("https://www.baidu.com/")

ele=dr.find_element_by_link_text("设置")

ActionChains(dr).move_to_element(ele).perform()

sleep(1)

dr.find_element_by_link_text("搜索设置").click()

sleep(1)

dr.find_element_by_link_text("保存设置").click()

sleep(1)

text1=dr.switch_to.alert.text #切换到警告框

print(text1)

dr.switch_to.alert.accept() #点击确定按钮

sleep(1)

dr.quit()

三.下拉菜单的处理方法

通过select 类实现的,首先要导包,代码如下:

from selenuim.webdriver.support.select import Select

1.根据索引位定位----select_by_index()

2.根据value值定位----select_by_value()

3.根据显示的文本值定位----select_by_visible_text()     

例子:

from selenium import webdriver

from selenium.webdriver.support.select import Select

dr=webdriver.Chrome()

dr.get("E:\培训\自动化测试学习\selenium\下拉菜单练习.html")

ele=dr.find_element_by_id("s4Id")

Select(ele).select_by_index(2) #根据索引位定位

Select(ele).select_by_value("o1val") #根据value值定位

Select(ele).select_by_visible_text("o3") #根据显示的文本值定位

 技术分享图片

四.多窗口切换

由默认窗口点击按钮页面跳转到其他窗口时,需要在定位脚本前写如下代码来告诉计算机要切换窗口。

switch_to.window(指定的窗口)----切换到指定窗口

window_handles----获取所有窗口 

例子:

from selenium import webdriver

from time import sleep

dr=webdriver.Chrome()

dr.get("https://www.so.com/")

sleep(1)

dr.find_element_by_link_text("360导航").click()

sleep(3)

dr.switch_to.window(dr.window_handles[1]) #切换到第二个窗口

selenium之鼠标悬停/警告框处理/多窗口切换/下拉菜单的处理的介绍

原文:https://www.cnblogs.com/xyx-001/p/9519955.html

(0)
(0)
   
举报
评论 一句话评论(0
关于我们 - 联系我们 - 留言反馈 - 联系我们:wmxa8@hotmail.com
© 2014 bubuko.com 版权所有
打开技术之扣,分享程序人生!