搜索引擎中注册网站,wordpress 3.9 友情链接,保健品网站模板,苏州营销型网站开发公司1. 元素的定位
web⾃动化测试的操作核⼼是能够找到⻚⾯对应的元素#xff0c;然后才能对元素进⾏具体的操作。 常⻅的元素定位⽅式⾮常多#xff0c;如id#xff0c;classname#xff0c;tagname#xff0c;xpath#xff0c;cssSelector 常⽤的主要由cssSelector和xpath…1. 元素的定位
web⾃动化测试的操作核⼼是能够找到⻚⾯对应的元素然后才能对元素进⾏具体的操作。 常⻅的元素定位⽅式⾮常多如idclassnametagnamexpathcssSelector 常⽤的主要由cssSelector和xpath
1.1 cssSelector
选择器的功能选中⻚⾯中指定的标签元素 选择器的种类分为基础选择器和复合选择器常⻅的元素定位⽅式可以通过id选择器和⼦类选择器来进⾏定位
定位百度⾸⻚的“百度热搜”元素可以使⽤通过id选择器和⼦类选择器进⾏定位 #shotsearch-wrapper div “搜索输⼊框元素”#kw “百度⼀下按钮”#su
1.2 xpath
XML路径语⾔不仅可以在XML⽂件中查找信息还可以在HTML中选取节点。 xpath使⽤路径表达式来选择xml⽂档中的节点 xpath语法中
1.2.1 获取HTML⻚⾯所有的节点
//*
1.2.2 获取HTML⻚⾯指定的节点
//[指定节点] //ul 获取HTML⻚⾯所有的ul节点 //input获取HTML⻚⾯所有的input节点
1.2.3 获取⼀个节点中的直接⼦节点
/ //span/input
1.2.4 获取⼀个节点的⽗节点
… //input/… 获取input节点的⽗节点
1.2.5 实现节点属性的匹配
[…] //*[id‘kw’] 匹配HTML⻚⾯中id属性为kw的节点
1.2.6 使⽤指定索引的⽅式获取对应的节点内容
注意xpath的索引是从1开始的。 百度⾸⻚通过//div/ul/li[3]定位到第三个百度热搜标签更便捷的⽣成 selector/xpath的⽅式右键选择复制 “Copy selector/xpath” 案例如果想要匹配到百度⾸⻚指定的新闻⽂本或者节点集:直接使⽤wrapper li 能够满⾜吗 问题既然可以⼿动复制 #hotsearch-content selector/xpath的⽅式 为什么还有了解语法 ⼿动复制的selector/xpath表达式并不⼀定满⾜上⾯的唯⼀性的要求有时候也需要⼿动的进⾏修改表达式比
案例百度⾸⻚需要登陆百度账号右侧的热搜复制li标签下的a标签复制好的的selector为#title-content xpath为 //*[id“title-content”]
操作测试对象 获取到了⻚⾯的元素之后接下来就是要对元素进⾏操作了。常⻅的操作有点击、提交、输⼊、清除、获取⽂本。 click()
1.#找到百度⼀下按钮并点击
2.driver.find_element(By.CSS_SELECTOR, #su).click()2.2 模拟按键输⼊ send_keys(“”)
1.driver.find_element(By.CSS_SELECTOR, #kw).send_keys(迪丽热巴)2.3 清除⽂本内容 输⼊⽂本后⼜想换⼀个新的关键词这⾥就需要⽤到 clear()
driver.find_element(By.CSS_SELECTOR, #kw).send_keys(迪丽热巴)
time.sleep(1)
driver.find_element(By.CSS_SELECTOR,#kw).clear()
time.sleep(1)
driver.find_element(By.CSS_SELECTOR, #kw).send_keys(古⼒娜扎)2.4 获取⽂本信息 如果判断获取到的元素对应的⽂本是否符合预期呢获取元素对应的⽂本并打印⼀下~~ 获取⽂本信息 1.text
1.text driver.find_element(By.XPATH,//*[idhotsearch-content
wrapper]/li[1]/a/span[2]).text2/
2.print(ftext:{text})问题是否可以通过text 获取到“百度⼀下按钮”上的⽂字“百度⼀下”呢尝试⼀下 注意⽂本和属性值不要混淆了。获取属性值需要使⽤⽅法 2.5 获取当前⻚⾯标题 title
1.title driver.title获取当前⻚⾯URL current_url
url driver.current_url