我的账户
啄木鸟学院

专注软件测试菁英教育

亲爱的游客,欢迎!

已有账号,请

如尚未注册?

selenium_2021.02.24_代金鑫

[复制链接]
心向未来学员认证 发表于 2021-2-24 20:26:59 | 显示全部楼层 |阅读模式 打印 上一主题 下一主题
今天学习内容
一、元素定位方式
  ①id定位
②name定位
③class定位--- 一般用于定位定位多个元素
④tag_name(元素名)定位 ---一般用于定位多个元素
⑤link_text 根据超链接元素的文本进行定位,必须完全匹配
⑥partail_link_text 根据超链接元素的文本进行定位,模糊匹配
⑦xpath 根据元素的路径进行定位,包括绝对路径和相对路径
⑧css定位 根据元素的样式进行定位
二、实际应用
①from selenium import webdriver
from time import sleep
driver = webdriver.Chrome()
driver.get(‘https://www.baidu.com/’)
定位单个元素
#根据id定位元素
input = driver.find_element_by_id(‘kw’)
#根据name定位元素
input = driver.find_element_by_name(‘wd’)
#根据class定位
input = driver.find_element_by_class_name(‘s_ipt’)
#写入文本
input.send_keys(‘货拉拉’)
#根据id定位“百度一下”
btn = driver.find_element_by_id(‘su’)
#根据class进行定位
btn = driver.find_element_by_class_name(‘s_btn’)
#单击“百度一下”
btn.click()
sleep(3)
#定位“新闻”
driver.find_element_by_link_text(‘新闻’).click     
# 定位“直播”
driver.find_element_by_partail_text(‘’).click
# 定位多个元素
# find_element_by_xxx返回的是一个列表,如果没有合适的元素,则返回一个空列表
inputs = driver.find_elements_by_tag_name(‘input’)
print(inputs)
②元素定位方式   xpath
from selenium import webdriver
from time import sleep
try:
    driver = webdriver.Chrome()
    driver.get(‘https://www.baidu.com/’)
    #定位搜搜框
    #绝对路径 以 /  开始
driver.find_element_by_xpath(‘/html/body/div[1]/div[1]/div[5]/div/div/form/span[1]/input’).send_keys(‘货拉拉’)
# 相对路径   以  //  开始  @ 表示属性
driver.find_element_by_xpath(‘//*[@id = “kw”]).send_keys(‘货拉拉’)
driver.find_element_by_xpath(‘//input[@id = “kw”]).send_keys(‘货拉拉’)
driver.find_element_by_xpath(‘//input[@class = “s_ipt”]).send_keys(‘货拉拉’)
driver.find_element_by_xpath(‘//form[@id = “form”]/span[1]/input).send_keys(‘货拉拉’)
      driver.find_element_by_xpath(‘//input[@id = “su”]’).click()  
      driver.find_element_by_xpath(‘//form[@id=”form”]/span[2]/input).click()
except Exception as e:
    print(e)
finally:
    sleep(3)
    driver.close()
文本定位
文本是定位于开始标签与结束标签之间的文字
text()获取文本的元素
定位贴吧 ——精确匹配
driver.find_element_by_xpath(‘//a[text()= “贴吧”).click()
定位 设置
driver.find_element_by_xpath(‘//soan[text()= “设置”).click()
模糊匹配
driver.find_element_by_xpath(‘//*[contains(text(),”度热榜]’).click()
属性定位 - 模糊匹配
    driver.find_element_by_xpath(‘//input[contains(@value,”一下]’).click()
css  定位  --层叠样式
driver.find_element_by_css_selector(‘#kw’).send_keys(‘货拉拉’)

回复

使用道具 举报

关注0

粉丝0

帖子23

发布主题
大家都在学
课堂讨论
一周热帖排行最近7x24小时热帖
关注我们
专注软件测试菁英教育

客服电话:17792550360

客服时间:9:00-21:00

卓目鸟学苑 - 专注软件测试菁英教育!( 陕ICP备20001493号-1 )

版权所有 © 西安菁英教育科技有限公司 2023-2026