python+Selenium学习
Selenium组件
-
Selenium IDE:是一个测试集成开发环境,可以结合FF录制脚本,并对脚本编辑和调试
特点:1.很容易在页面上就行录制
2.能自动通过id,name,xpath就行定位
3.自动执行Selenium命令
4.能够进行高度和设置断点
5.录制的脚本能生成各种语言
6.能在各个阶段添加断言
-
Selenium RC:Selenium Remote Control
组成:Server端和Client端
Server:负责启动和关闭浏览器,类似与HTTP
CLient:各种编程语言设计的开发库构成
RC提供了一个代理服务器,可以用程序语言编写测试用例,可以与其他框架进行集成测试
-
Selenium Webdriver
-
Selenium Grid
selenium定位方式
八大定位方式:
1.id:
driver.find_element(By.ID,'kw').send_keys('中共一大')
2.name:
driver.find_element(By.NAME,'wd').send_keys('yiyi')
3.class_name
driver.find_element(By.CLASS_NAME,'s_ipt').send_keys('yiyi')
4.link_text
driver.find_element(By.LINK_TEXT,'依依(汉语词汇) - 百度百科').click()
5.partial_link_text
driver.find_element(By.PARTIAL_LINK_TEXT,'依依').click()
6.tag_name
driver.find_element(By.TAG_NAME,'标签名称')
7.css_selector
driver.find_element(By.CSS_SELECTOR,'#kw') ->id:#
driver.find_element(By.CSS_SELECTOR,'.s_ipt') ->class:.
driver.find_element(By.CSS_SELECTOR,'[name=wd]') ->name
8.xpath
一、绝对路径:/
driver.find_element(By.XPATH,'//html/body/div[1]/div[2]/div[5]/div[1]/div/form/span[2]/input')
二、相对路径://
相对路径+属性[@属性=属性值]
#通过id属性
driver.find_element(By.XPATH,'//*[@id="kw"]').send_keys(“test”)
#通过class定位
driver.find_element(By.XPATH,'//*[@class="s_ipt"]').send_keys(“test”)
#通过name定位
driver.find_element(By.XPATH,'//*[@name="wd"]').send_keys(“test”)
#通过其他属性进行定位
driver.find_element(By.XPATH,'//*[@autocomplete="off"]')
通过文本属性进行定位
driver.find_element(By.XPATH,'//*[text()="新闻"]')
相对路径+通配符(*)
driver.find_element(By.XPATH,'//*[@id="su"]')
属性组合定位(逻辑运算符and、or等)
driver.find_element(By.XPATH,'//*[@autocomplete="off" and @class="s_ipt"]').send_keys(“test”)
#模糊匹配
driver.find_element(By.XPATH,'//a[contains(text(),"hao")]") # 文本模糊匹配
driver.find_element(By.XPATH,'//input[contains(@class,"s_btn")]') # class属性模糊匹配,其它类似
标签:XPATH,name,Python,Selenium,driver,element,find
From: https://www.cnblogs.com/MaybeGut/p/17036628.html