selenium.元素定位(find_element_by)

 八种定位元素的方式

  1. 经过id定位元素:find_element_by_id("id_vaule")
  2. 经过name定位元素:find_element_by_name("name_vaule")
  3. 经过tag_name定位元素:find_element_by_tag_name("tag_name_vaule")
  4. 经过class_name定位元素:find_element_by_class_name("class_name")
  5. 经过css定位元素:find_element_by_css_selector()
  6. 经过xpath定位元素:find_element_by_xpath("xpath")
  7. 经过link:find_element_by_link_text("text_vaule")
  8. 经过find_element_by_partial_link_text()
 
百度首页面作个搜索selenium的例子,演示五个比较经常使用的定位方式
from selenium import webdriver from time import sleep driver = webdriver.Chrome() driver.implicitly_wait(10)   #隐形等待
driver.get('https://www.baidu.com/') sleep(1) #以五种定位方式定位到百度首页的搜索输入框
kw_find = driver.find_element_by_id('kw') #kw_find= driver.find_element_by_class_name('s_ipt') #kw_find= driver.find_element_by_name('wd') #kw_find = driver.find_element_by_xpath('//*[@id="kw"]') #kw_find = driver.find_element_by_css_selector('#kw') #id用#kw,class用.s_ipt ,与css的简写方式相同

#send_keys() 是selenium自带的方法,用来输入文本
kw_find.send_keys('selenium') #使用id定位方式定位到搜索按钮
su_find = driver.find_element_by_id('su') #click() 是selenium自带的方法,用来点击定位的元素
su_find.click() sleep(1) driver.quit()

 

 一样用百度首页的的其中一个hao123来练习 link_text和partial_link_text定位方式css

from selenium import webdriver from time import sleep driver = webdriver.Chrome() driver.implicitly_wait(10)   #隐形等待
driver.get('https://www.baidu.com/') sleep(1) #定位hao123页面的超连接并点击
hao123_find = driver.find_element_by_link_text('hao123') #这个方法比较直接,即经过超文本连接上的文字信息来定位元素
 hao123_find = driver.find_element_by_partial_link_text('hao1') #这个方法是上一个方法的扩展。当你不能准确知道超连接上的文本信息或者只想经过一些关键字进行匹配时,能够使用这个方法来经过部分连接文字进行匹配
hao123_find.click() sleep(1) driver.quit()

  

还有一种是 tag_name 定位,此方式能够经过元素的标签名称来查找元素,可是通常WEB网站的标签名都是会重复的全部用的并不太方便。
可是能够配合循环输出标签的属性。
from selenium import webdriver from time import sleep driver = webdriver.Chrome() driver.get('https://www.baidu.com') for img in driver.find_elements_by_tag_name("img"): print(img.text) print(img.size) print(img.tag_name) sleep(2) driver.quit()

  

运行发现没有图片名称打印出来,说明百度首页,全部图片都没有给出text这个属性。web

相关文章
相关标签/搜索