相当全的python selenium元素定位

先在py文件中导入相应的库 ,创建浏览器实例

from selenium import webdriver
browser = webdriver.Chrome()

要定位的页面打开f12后如下图(图1)
在这里插入图片描述

1.by_id,图1中定位账号输入框可用id定位

browser.find_element_by_id('account')

2.by_name,图1中定位账号输入框也可以用name定位

browser.find_element_by_name('account')

3.by_class_name,图1中定位账号输入框也可以用class定位

browser.find_element_by_class_name('form-control')

但是,观察到class名为form-control不唯一,不可用
4.link_text,图1中,定位登录按钮可用根据连接的文字定位

browser.find_element_by_link_text("登录")

5.xpath,任何元素,均可以用xpath去定位,如图1中定位账号输入框可以用xpath
xpath有多种写法。xpath的id定位,等同于根据id定位

browser.find_element_by_xpath('//*[@id="account"]')

xpath的class定位,等同于根据class_name定位

browser.find_element_by_xpath('//*[@class="form-control"]')

xpath的name定位

browser.find_element_by_xpath('//*[@name="account"]')

xpath的路径探索定位:解释一下这个://*[@id=“nameTip”]是跟账号同级那个span元素(如图2),且其可以根据id唯一定位。定位span后/…表示span的上一级div元素,div下面的一个input即为账号输入框。

browser.find_element_by_xpath('//*[@id="nameTip"]/../input')

图2
在这里插入图片描述
用xpath的text定位:text的值要为标签间的文本,比如登录 如果为是定位不到的。

browser.find_element_by_xpath("//*[text()='登录'")

xpath的src定位:像如下图所示的iframe定位,无id,class也不唯一,此时可以用xpath的src定位
在这里插入图片描述
xpath的src定位

browser.find_element_by_xpath("//*[@src='xxxxxxxxx']")

  • 0
    点赞
  • 0
    收藏
    觉得还不错? 一键收藏
  • 1
    评论

“相关推荐”对你有帮助么?

  • 非常没帮助
  • 没帮助
  • 一般
  • 有帮助
  • 非常有帮助
提交
评论 1
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包
实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

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

余额充值