selenium元素定位方法

from selenium import webdriver
from time import sleep


driver = webdriver.Chrome()

#打开浏览器
driver.get('D:/pythoncode/venv/one/myhtml1.html')

####
selenium八大单位元素定位方法

#1.通过id属性查找元素
driver.find_element_by_id('id1').send_keys('storm')

#2.通过name属性查找元素
driver.find_element_by_name('name1').send_keys('name1')

#3.通过class属性查找元素
driver.find_element_by_class_name('s_ipt').send_keys('selenium')

#4.通过tag属性查找元素
driver.find_element_by_tag_name('input').send_keys('input')

#5.通过链接文本内容查找元素
driver.find_element_by_link_text("I'm Storm").click()

#6.1.通过部分链接文本内容查找元素
driver.find_element_by_partial_link_text('Storm').click()

#7.通过xpath方法查找元素
driver.find_element_by_xpath('//*[@id="kw"]').send_keys('xpath')

#7.1.1xpath: `.`代表当前节点; '..'代表父节点
mytext = driver.find_element_by_xpath("//div[@id='C']/../..").text
#7.1.2xpath轴 parent              子找父
mytext1 = driver.find_element_by_xpath("//div[@id='C']/parent::div/parent::div").text

#7.2.1#通过父元素定位子元素,xpath轴    父找子
mytext = driver.find_element_by_xpath("//div[@id='B']/child::div").text

#7.3.1xpath轴 preceding-sibling      弟弟获取哥哥节点
mytext1 = driver.find_element_by_xpath("//div[@id='D']/preceding-sibling::div[1]").text
#5.3.2.xpath轴 following-sibling     哥哥获取弟弟节点
mytext1 = driver.find_element_by_xpath("//div[@id='D']/following-sibling::div[1]").text

#8.通过css定位页面元素
driver.find_element_by_css_selector("body > input").send_keys('css')

##其他定位方式:
#9.串联查找的方式
mytext = driver.find_element_by_id('B').find_element_by_tag_name('div').text
#10.直接传递locate type的方式只支持4种,id、name、xpath、css
driver.find_element('tagname', 'input').send_keys('input')
#11.通过引入common.by的包,可以完美支持前面讲过的八种方法
driver.find_element(By.TAG_NAME, 'input').send_keys('input')

###11.组元素定位方法
eles = driver.find_elements_by_tag_name('div')
print(eles[2].text)

#11.1组元素方法应用:打印列表中状态列的所有结果
eles = driver.find_elements_by_class_name('status')
for ele in eles:
    if ele.text=='状态':
        continue
    else:
        print(ele.text)




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

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

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

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

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

抵扣说明:

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

余额充值