微信公众号搜"智元新知"关注
微信扫一扫可直接关注哦!

WEB自动化测试selenium

一、Python+Selenium 环境搭建

python+Pycharm+selenium+chrome+谷歌浏览器驱动

二、八大元素定位

面试题:如果元素定位不到,你是怎么去分析的?

1.元素没有加载完成

2.Frame中(框架)

3.元素不可见,不可读,不可见

4.动态属性,动态的DIV层

前提:需要定位的元素或它的属性必须要唯一

ID、NAME、class_name、xpath、css、tag_name、link_text、partail_link_text

①、id定位:

driver.find_element(By.ID,"kw").send_keys("魔兽世界")

②、name定位:

driver.find_element(By.NAME,"wd").send_keys("魔兽世界")

③、link_text定位

driver.find_element(By.LINK_TEXT,"新闻").click()

④、partail_link_text定位

driver.find_element(By.PARTIAL_LINK_TEXT,"新").click()

⑤、xpath定位

相对路径:/开头的是绝对路径

/html/body/div[1]/div[1]/div[5]/div/div/form/span[1]/input

举例:driver.find_element(By.XPATH,"/html/body/div[1]/div[1]/div[5]/div/div/form/span[1]/input").send_keys("魔兽世界")

相对路径://开头的相对路径  (ctrl+F)

//input

1.相对路径+索引定位:

//form/span[1]/input

2.相对路径+属性定位

//input[@autocomplete='off']

3.相对路径+通配符定位   *

//*[@autocomplete='off']   或//*[@*='off']

经常容易报错

4.相对路径+部分属性值定位

//input[starts-with(@autocomplete,'of')]  #以什么开头  或者    //*[starts-with(@autocomplete,'of')] 

//*[substring(@autocomplete,2)='ff']       # 以什么结尾

//*[contains(@autocomplete,'of')]       #包含

5.相对路径+文本定位

//span[text()='按图片搜索']

举例:

value = driver.find_element(By.XPATH,"//span[text()='按图片搜索']").get_attribute('class') print(value)

 

CSS定位:

1.绝对路径:不用

2.通过ID和CLASS 

 

版权声明:本文内容由互联网用户自发贡献,该文观点与技术仅代表作者本人。本站仅提供信息存储空间服务,不拥有所有权,不承担相关法律责任。如发现本站有涉嫌侵权/违法违规的内容, 请发送邮件至 [email protected] 举报,一经查实,本站将立刻删除。

相关推荐