webdriver提供了八种元素定位方法:id,name,tag name,link text,partial link text,xpath,css selector
在Python中对应的方法:
find_element_by_id()
find_element_by_name()
find_element_by_class_name()
find_element_by_tag_name()
find_element_by_link_text()
find_element_by_partial_link_text()
find_element_by_xpath()
find_element_by_css_selector()
from selenium import webdriver
drier = webdriver.Firefox()
drier.get('http://www.yiuxiu.com/')
drier.find_element_by_id('key').send_keys('牙刷')
drier.find_element_by_id('serch').click()
# drier.back() # 返回
drier.maximize_window()#最大化
# drier.find_element_by_link_text('***') #精准定位
# drier.find_element_by_partial_link_text('***') #模糊定位
使用相对路径的xpath定位# 关于xpath的技巧,建议亲们在后期深入学习时重点研究下。通过常规方法不能定位元素时,使用xpath/css肯定是可行的。
dr.find_element_by_xpath("//input[@id='kw']").send_keys('1')
dr.find_element_by_xpath("//input[@name='wd']").send_keys('2')
dr.find_element_by_xpath("//input[@class='s_ipt']").send_keys('3')
dr.find_element_by_xpath("//[@class='s_ipt']").send_keys('4')
dr.find_element_by_css_selector(".s_ipt").send_keys('5')# .号后面跟的是class属性, class="s_ipt"
dr.find_element_by_css_selector("#kw").send_keys('6') # #号后面跟的是id属性, id="kw"
# find_element_by_xxxx 和find_elements_by_xxx的区别:# find_element_by_xxxx:定位一个元素# find_elements_by_xxx:定位一组元素,得到的是一个list,要从list取值后再对每个元素做具体操作
网友评论