Selenium—xpath定位方法
点击文末小卡片免费获取软件测试全套资料资料在手涨薪更快今天我们来聊聊selenium -- xpath定位方法我们都知道selenium有八大定位策略分别是id、name、class name、tag name、link text、partial link text、xpath、css 。那么我们今天呢主要来讲讲八大定位策略中的xpath的定位方法废话不多说我们直接开始吧。一、xpath基本定位用法1.1 使用id定位 -- driver.find_element_by_xpath(//input[idkw])1.2 使用class定位 -- driver.find_element_by_xpath(//input[classs_ipt])1.3 当然 通过常用的8种方式结合xpath均可以定位name、tag_name、link_text、partial_link_text以上只列举了2种常用方式哦。二、xpath相对路径/绝对路径定位2.1 相对定位 -- 以// 开头 如//form//input[namephone]2.2 绝对定位 -- 以/ 开头但是要从根目录开始比较繁琐一般不建议使用 如/html/body/div/a三、xpath文本、模糊、逻辑定位3.1【文本定位】使用text()元素的text内容 如//button[text()登录]3.2 【模糊定位】使用contains() 包含函数 如//button[contains(text(),登录)]、//button[contains(class,btn)] 除了contains不是等于 多用于display属性3.3 【模糊定位】使用starts-with -- 匹配以xx开头的属性值ends-with -- 匹配以xx结尾的属性值 如//button[starts-with(class,btn)]、//input[ends-with(class,-special)]3.4 使用逻辑运算符 -- and、or如//input[namephone and datatypem]四、xpath轴定位轴运算ancestor祖先节点 包括父parent父节点preceding-sibling当前元素节点标签之前的所有兄弟节点preceding当前元素节点标签之前的所有节点following-sibling:当前元素节点标签之后的所有兄弟节点following当前元素节点标签之后的所有节点使用语法 轴名称 :: 节点名称使用较多场景页面显示为一个表格样式的数据列如注意#定位 找到元素 -- 做到唯一识别 #优先使用id #舍弃有下标的出现、有绝对定位的出现、id动态变化时舍弃from selenium import webdriver import time from selenium.webdriver.support.wait import WebDriverWait from selenium.webdriver.support import expected_conditions as EC from selenium.webdriver.common.by import By driver webdriver.Chrome() driver.get(https://www.baidu.com/) driver.maximize_window() time.sleep(3) # 定位百度搜索框 driver.find_element_by_id(kw).send_keys(python) time.sleep(3) driver.find_element_by_id(su).click() time.sleep(5) # 找到这个元素 ele driver.find_element_by_xpath(//a[text()_百度百科]) # 拖动元素到可见区域--scrollIntoView() 拉到顶部显示有可能会被导航栏遮挡定位不到而报错scrollIntoView(false)可视区域底部对齐 driver.execute_script(arguments[0].scrollIntoView(false);, ele) time.sleep(5) driver.quit()定位后的常见操作get(url) 打开网页send_keys(str) 输入click() 点击clear() 清空text 获取标签文本内容get_attribute(属性) 获取元素属性值close() 关闭当前标签页quit() 关闭浏览器释放进程FAQ脚本结束如果没有调用quit()方法chromedriver进程会在后台继续运行。大概占用4M空间。如果创建多了不关会导致电脑卡。__import__(os).system(taskkill /f /t /im chromedriver.exe)五、总结今天的文章就分享到这里了喜欢的小伙伴记得点赞收藏评论加关注哟关注我每天给你不同的惊喜。最后感谢每一个认真阅读我文章的人礼尚往来总是要有的虽然不是什么很值钱的东西如果你用得到的话可以直接拿走这些资料对于做【软件测试】的朋友来说应该是最全面最完整的备战仓库这个仓库也陪伴我走过了最艰难的路程希望也能帮助到你凡事要趁早特别是技术行业一定要提升技术功底。
本文来自互联网用户投稿,该文观点仅代表作者本人,不代表本站立场。本站仅提供信息存储空间服务,不拥有所有权,不承担相关法律责任。如若转载,请注明出处:http://www.coloradmin.cn/o/2479181.html
如若内容造成侵权/违法违规/事实不符,请联系多彩编程网进行投诉反馈,一经查实,立即删除!