0


【Python+Selenium基本语法 及 小案例测试】

Python+Selenium基本语法 及 小案例测试

  • 小案例 博客登录成功测试from time import sleepfrom selenium import webdriverdriver=webdriver.Chrome()driver.get('http://localhost:8080/gugu/login.jsp')sleep(3)driver.find_element_by_id('L_username').send_keys('tom')sleep(3)driver.find_element_by_id('yang').send_keys('123')sleep(3)driver.find_element_by_xpath('//*[@id="TANGRAM__PSP_11__submit"]').click()sleep(5)driver.quit()from time import sleep#导包 webdriverfrom selenium import webdriver#获取Chrome浏览器对象:driver=webdriver.Chrome()#打开百度driver.get('http://www.baidu.com')#暂停3秒sleep(3)driver.find_element_by_xpath('//*[@id="u1"]/a').click()sleep(3)driver.find_element_by_xpath('//*[@id="TANGRAM__PSP_11__footerULoginBtn"]').click()sleep(3)driver.find_element_by_id('TANGRAM__PSP_11__userName').send_keys('15155256225')sleep(3)driver.find_element_by_id('TANGRAM__PSP_11__password').send_keys('2324480129g')sleep(3)driver.find_element_by_xpath('//*[@id="TANGRAM__PSP_11__submit"]').click()sleep(5)#//*[@id="u1"]/a#关闭浏览器驱动driver.quit()
  • 元素定位自动化的核心是定位元素,Selenium提供了八种定位元素的方法,常见如下:1、定位单个元素- id定位:driver.find_element_by_id()- name定位:driver.find_element_by_name()- class定位:driver.find_element_by_class_name()- link定位:driver.find_element_by_link_text()- partial link定位:driver.find_element_by_partial_link_text()- tag定位:driver.find_element_by_tag_name()- css定位:driver.find_element_by_css_selector()- xpath定位:driver.find_element_by_xpath()2、定位一组元素取下标定位- id定位:driver.find_elements_by_id()[]- name定位:driver.find_elements_by_name()[]- class定位:driver.find_elements_by_class_name()[]- link定位:driver.find_elements_by_link_text()[]- partial link定位:driver.find_elements_by_partial_link_text()[]- tag定位:driver.find_elements_by_tag_name()[]- css定位:driver.find_elements_by_css_selector()[]- xpath定位:driver.find_elements_by_xpath()[]3、class定位class定位主要是利用元素的css样式表所引用的伪类名称来进行元素查找,实际定位时,会经常发现一个元素的class name是由多个class组成的复合类,以空格隔开class含空格解决办法有(1)class属性唯一但有空格,选择空格两边唯一的那一个(2)空格隔开的class不唯一,用索引定位(3)通过css方法定位,空格用.代替4、xpath定位xpath就是XML path,可以用xpath来定位html文档中的任意元素,xpath定位是对整个文档进行扫描来定位元素,效率比较低- a.xpath有绝对路径和相对路径,绝对路径用/,相对路径用//- b.xpath以/开头表示让解析引擎从文档的根节点开始,以//开头表示让解析引擎从文档的任意符合的元素节点开始解析- c.xpath路径中有/表示寻找父节点的直接子节点,路径中有//表示寻找父节点所有符合的子节点5、css定位css定位和xpath定位类似,但是css执行速度比较快6、xpath和css定位在这里插入图片描述---
  • 细节讲解:###### *具体解析:# send_keys():输入文字# clear():清除文字# click():点击按钮from time import sleepfrom selenium import webdriverdriver=webdriver.Chrome()driver.get('http://localhost:8080/gugu/login.jsp')sleep(3)driver.find_element_by_id('L_username').send_keys('tom')sleep(3)driver.find_element_by_id('yang').send_keys('123')sleep(3)driver.find_element_by_xpath('//*[@id="TANGRAM__PSP_11__submit"]').click()sleep(5)driver.quit()---------------------------------------------------from time import sleepfrom selenium import webdriverdriver=webdriver.Chrome()driver.get('http://www.baidu.com')sleep(3)driver.find_element_by_xpath('//*[@id="u1"]/a').click()sleep(3)driver.find_element_by_xpath('//*[@id="TANGRAM__PSP_11__footerULoginBtn"]').click()sleep(3)driver.find_element_by_id('TANGRAM__PSP_11__userName').send_keys('15155256225')sleep(3)driver.find_element_by_id('TANGRAM__PSP_11__password').send_keys('2324480129g')sleep(3)driver.find_element_by_xpath('//*[@id="TANGRAM__PSP_11__submit"]').click()sleep(5)#//*[@id="u1"]/a#关闭浏览器驱动driver.quit()---------------------------------------------------from time import sleepfrom selenium import webdriver browser = webdriver.Chrome()#声明浏览器对象browser.get('http://www.baidu.com')# 使用get方法请求百度网页sleep(3)input= browser.find_element_by_id('kw')sleep(3)input.send_keys('this')sleep(3)browser.find_element_by_id('su').click()sleep(5)#延时等待print(input)# 获取节点idprint(input.id)# 获取节点在页面的相对位置print(input.location)# 获取节点标签名称print(input.tag_name)# 获取节点大小print(input.size)print(input)print(input.text)browser.close()
标签: python

本文转载自: https://blog.csdn.net/qq_46030564/article/details/124557605
版权归原作者 yang.ing 所有, 如有侵权,请联系我们删除。

“【Python+Selenium基本语法 及 小案例测试】”的评论:

还没有评论