【软件测试】WebDriver定位元素

八种元素定位方法及对应的python方法

WebDriver元素定位方式对应的python方法
idfind_element_by_id()
namefind_element_by_name()
class namefind_element_by_class_name()
tag namefind_element_by_tag_name()
link textfind_element_by_link_text()
partial link textfind_element_by_partial_link_text()
xpathfind_element_by_xpath()
css selectorfind_element_by_css_selector()

通过id定位

driver.find_element_by_id("kw").send_keys('selenium')

通过name定位

driver.find_element_by_name("wd").send_keys('selenium')

通过class 定位

driver.find_element_by_class_name("s_ipt").send_keys('selenium')

通过tag定位

driver.find_element_by_tag_name("input").send_keys('selenium')

不唯一,故定位不到
通过link定位

driver.find_element_by_link_text("新闻").click()

通过partial link定位

driver.find_element_by_partial_link_text("中国正").click()

通过xpath定位

driver.find_element_by_xpath("//input[@id='kw']").send_keys('selenium')

通过css selector定位

driver.find_element_by_css_selector('#kw').send_keys('selenium')

定位到元素之后,我们能做的事?
get(url):打开某个网页
clear():清除文本
send_keys(value):模拟按键输入,除了能够发送字母外,还可以发送快捷键
click():单击元素。例如按钮、超链接、单选框、复选框
current_url:返回当前页面的url地址
title:返回当前页面的title
Text:获取页面(提示框、警告框)显示的文本
get_attribute(name):获得属性值,文本框中的值使用value属性名
is_displayed():设置该元素是否用户可见

出现的问题:当在打开的页面中点击某一超链接进入新的页面往往定位不到元素
解决方法1:
在新的页面定位元素之前添加下列语句

driver.switch_to_window(driver.window_handles[1])  //[0]为第一个页面,num[1]为新的页面,此时在进行定位操作

解决方法2:

for handle in driver.window_handles:
    driver.switch_to_window(handle)    //始终获得当前的最后窗口
  • 0
    点赞
  • 0
    收藏
    觉得还不错? 一键收藏
  • 0
    评论
评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包
实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值