selnium元素定位
最近在学习自动化测,将内容记录一下,方便以后查找。
单个元素定位实战
1、find_element_by_id
通过元素属性ID定位到元素,方法是find_element_by_id。以百度搜索框为例,代码如下:
from selenium import webdriver
driver=webdriver.Firefox() //定义火狐浏览器
driver.maximize_window() //最大化浏览器
driver.implicitly_wait(30) //设置等待超时
dirver.get(“http://www.baidu.com”)
driver.find_element_by_id(‘kw’).send_keys(‘python’) //查找python元素
driver.quit() //关闭浏览器
2、find_element_by_name
通过元素属性NAME定位到元素,方法find_element_by_name。
from selenium import webdriver
driver=webdriver.Firefox() //定义火狐浏览器
driver.maximize_window() //最大化浏览器
driver.implicitly_wait(30) //设置等待超时
dirver.get(“http://www.baidu.com”)
driver.find_element_by_name(‘wd’).send_keys(‘python’) //查找python元素
driver.quit() //关闭浏览器
3、find_element_by_class_name
通过元素属性CLASS_NAME定位到元素,方法find_element_by_class_name。
from selenium import webdriver
driver=webdriver.Firefox() //定义火狐浏览器
driver.maximize_window() //最大化浏览器
driver.implicitly_wait(30) //设置等待超时
dirver.get(“http://www.baidu.com”)
driver.find_element_by_class_name(‘s_ipt’).send_keys(‘python’) //查找python元素
driver.quit() //关闭浏览器
4、find_element_by_xpath
通过XPATH定位到百度搜索框输入的框元素,方法是find_element_by_xpath。
from selenium import webdriver
driver=webdriver.Firefox()
driver.maximize_window()
driver.implicitly_wait(30)
driver.get(“http:www.baidu.com”)
driver.find_element_by_xpath(’//*[@id=“kw”]’).send_keys(‘word’)
driver.quit() //关闭浏览器
5、find_element_by_link_text
通过LINK_TEXT对超链接进行处理。在HTML的代码中通常以标签a对应,方法是find_element_by_link_text.
from selenium import webdriver
driver=webdriver.Firefox()
driver.maximize_window()
driver.implicitly_wait(30)
driver.get(“http://www.baidu.com”)
driver.find_element_by_link_text(u’新闻’).click()
driver.quit()
6、find_element_by_partial_link_text
PARTIAL_LINK_TEXT也是对超链接进行处理,按照模糊搜索方式进行处理,方法是find_element_by_partial_link_text。
from selenium import webdriver
driver=webdriver.Firefox()
driver.maximize_window()
driver.implicitly(30)
driver.find_element_by_partial_link_text(u"闻").click()
driver.quit()
7、find_element_by_css_selector
但使用ID、NAME等方式定位不到元素的时候,可使用CSS_SELECTOR,方法是find_element_by_css_selector。
from selenium import webdriver
driver=webdriver.Firefox()
driver.maximize_window()
driver.implicitly_wait(30)
driver.get(‘http://www.baidu.com’)
driver.find_element_by_css_selector(’#kw’).send_keys(‘python’)
driver.quit()