Selenium元素定位操作

Selenium 给我们提供了 8 种的定位元素方法

  • find_element_by_id()

   通过ID查找元素,也就是页面中的ID属性,例如:id = username

from selenium import webdriver

driver = webdriver.Chrom()
driver.get('http://www.baidu.com')
driver.find_element_by_id('username').send_keys("admin")
  • find_element_by_name()

   通过查找元素的时候,找到“name=”,这样子我们就可以用到这个方法了

from selenium import webdriver

driver = webdriver.Chrom()
driver.get('http://www.baidu.com')
driver.find_element_by_name('username').send_keys("admin")
  • find_element_by_class_name()

   通过查找元素的时候,找到“class=”,这样子我们就可以用到这个方法了

from selenium import webdriver

driver = webdriver.Chrom()
driver.get('http://www.baidu.com')
driver.find_element_by_class_name('username').send_keys("admin")
  • find_element_by_tag_name()

   在检查元素的时候查看元素的最前面的 input,但是这个定位方式有个不好的地方在于很多页面都有同样的标签存在,

   所以我们定位的时候会很麻烦。所以,这个方法我们不推荐使用执行还会报错,就想死脑筋用的话,要精卫定位即可

from selenium import webdriver

driver = webdriver.Chrom()
driver.get('http://www.baidu.com')
driver.find_element_by_tag_name('input').send_keys("admin")
  • find_element_by_link_text()

  查找文本信息,页面看到的文本,直接可以定位。

from selenium import webdriver

driver = webdriver.Chrom()
driver.get('http://www.baidu.com')
driver.find_element_by_link_text('登录').clink()
  • find_element_by_partial_link_text()

  通过模糊文本信息查找元素,有些时候,我们希望定位到一个文本比较长的元素时,我们就可以通过这个方法去定位

  假如:定位的脚本元素是‘欢迎来到我的世界’,可以输入其中几个,比如输入“世界

from selenium import webdriver

driver = webdriver.Chrom()
driver.get('http://www.baidu.com')
driver.find_element_by_partial_link_text('世界').clink()
  • find_element_by_xpath()

  这是一种最常用的定位方法,通过查找元素的xpath路劲去查找

  使用方法:打开页面,点击F12,定位需要的元素(登录),右键Copy,选择 Copy xpath即可

from selenium import webdriver

driver = webdriver.Chrom()
driver.get('http://www.baidu.com')
driver.find_element_by_xpath('//*[@id="u1"]/a').send_keys('admin')
  • find_element_by_css_seleter()

  在方法上,css和xpath使用的比较频繁,也比较简单

使用方法:打开页面,点击F12,定位需要的元素(登录),右键Copy,选择Copy selecter即可

from selenium import webdriver

driver = webdriver.Chrom()
driver.get('http://www.baidu.com')
driver.find_element_by_css_selector('#u1 > a').send_keys('admin')

PS:在这8种方法中,最后的2种最实用

评论 3
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包

打赏作者

依剑仗天涯

你的鼓励是我创装的最大动力

¥1 ¥2 ¥4 ¥6 ¥10 ¥20
扫码支付:¥1
获取中
扫码支付

您的余额不足,请更换扫码支付或充值

打赏作者

实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值