打开APP
userphoto
未登录

开通VIP,畅享免费电子书等14项超值服

开通VIP
selenium.元素定位(find

 八种定位元素的方式

  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 webdriverfrom time import sleepdriver = 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定位方式

 from selenium import webdriverfrom time import sleepdriver = 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 webdriverfrom time import sleepdriver = 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这个属性。

本站仅提供存储服务,所有内容均由用户发布,如发现有害或侵权内容,请点击举报
打开APP,阅读全文并永久保存 查看更多类似文章
猜你喜欢
类似文章
【热】打开小程序,算一算2024你的财运
在Selenium Webdriver中使用XPath Contains、Sibling函数定位
史上最全!Selenium元素定位的30种方式
senlenium使用
[Python从零到壹] 九.网络爬虫之Selenium基础技术万字详解(定位元素、常用方法、鼠标操...
Selenium2+python自动化11
《selenium2 python 自动化测试实战》(7)——定位一组对象
更多类似文章 >>
生活服务
热点新闻
分享 收藏 导长图 关注 下载文章
绑定账号成功
后续可登录账号畅享VIP特权!
如果VIP功能使用有故障,
可点击这里联系客服!

联系客服