栏目分类:
子分类:
返回
名师互学网用户登录
快速导航关闭
当前搜索
当前分类
子分类
实用工具
热门搜索
名师互学网 > IT > 软件开发 > 后端开发 > Python

Web自动化测试进阶-Selenium(2)

Python 更新时间: 发布时间: IT归档 最新发布 模块sitemap 名妆网 法律咨询 聚返吧 英语巴士网 伯小乐 网商动力

Web自动化测试进阶-Selenium(2)

1.元素的定位

1)元素定位方法的分类(调用方式):

  1.直接调用型(推荐方式)

  driver.find_element_by_xxx(value)

  2.使用By类型(需要导入By)

  from selenium.webdriver.common.by import By

  driver.find_element(By.xxx,value)

2)元素定位方法的分类(按定位方式):

id

name 

class name

tag name

link text

partial link text

xpath

css selector

2.元素的操作 

对元素的相关操作,一般要先获取到元素,再调用相关方法

element = driver.find_element_by_xxx(value)

1)点击和输入

点击操作

element.click()

清空/输入操作(只能操作可以输入文本的元素)

element.clear()  清空输入框

element.send_keys(data)  输入数据

3.多标签之间的切换

场景:有的时候点击一个链接,新页面并非由当前页面跳转过去,而是新开一个页面打开,这种情况下,计算机需要识别多标签或窗口的情况。

1)获取所有窗口的句柄

handles = driver. window_handles

调用该方法会得到一个列表,在selenium运行过程中的每一个窗口都有一个对应的值存放在里面。

2)通过窗口的句柄进入的窗口

driver.switch_to_window(handles[n])

driver.switch_to.window(handles[n])

通过窗口句柄激活进入某一窗口

案例:

58同城租房信息:http://bj.58.com

4.多标签之间的切换练习

from selenium import webdriver
#创建浏览器对象
driver = webdriver.Firefox()
#请求某个url对应的响应
driver.get("https://bj.58.com/")
#定位招聘
zp = driver.find_element_by_css_selector("#zpNav > a:nth-child(1)")
#点击招聘
zp.click()
#获取所有窗口的句柄
handles = driver.window_handles
#通过窗口的句柄进入的窗口
driver.switch_to.window(handles[1])
#定位包吃住
bcz = driver.find_element_by_css_selector("#hotjob > li:nth-child(1) > a:nth-child(1)")
#点击包吃住
bcz.click()
#获取所有窗口的句柄
handles = driver.window_handles
#通过窗口的句柄进入的窗口
driver.switch_to.window(handles[2])
#定位计算机/互联网/通信
jsj = driver.find_element_by_xpath(".//*[@id='filterJob.']/ul/li[32]/a")
# jsj = driver.find_element_by_css_selector("#filterJob > ul:nth-child(2) > li:nth-child(32) > a:nth-child(1)")
#点击计算机/互联网/通信
jsj.click()
#定位游戏设计/开发
# yxkf = driver.find_element_by_css_selector("li.select:nth-child(15) > a:nth-child(1)")
yxkf = driver.find_element_by_xpath(".//*[@id='filterJob']/ul/li[15]/a")
#点击游戏设计/开发
yxkf.click()
#定位昌平
# cp = driver.find_element_by_css_selector("li.select:nth-child(4) > a:nth-child(1)")
cp = driver.find_element_by_xpath(".//*[@id='filterArea']/ul/li[4]/a")
#点击昌平
cp.click()

转载请注明:文章转载自 www.mshxw.com
本文地址:https://www.mshxw.com/it/331363.html
我们一直用心在做
关于我们 文章归档 网站地图 联系我们

版权所有 (c)2021-2022 MSHXW.COM

ICP备案号:晋ICP备2021003244-6号