我的账户
啄木鸟学院

专注软件测试菁英教育

亲爱的游客,欢迎!

已有账号,请

如尚未注册?

自动化测试-樊江飞-2021.2.24

[复制链接]
皮皮虾学员认证 发表于 2021-2-24 20:01:52 | 显示全部楼层 |阅读模式 打印 上一主题 下一主题
元素定位方式
1,id定位  根据id属性定位
2,name定位    根据name属性定位
3,class定位 根据class属性定位---一般用于定位多个元素
4,tag_name(元素名)定位   根据元素名进行定位 --- 一般用于定位多个元素
5,link_text   根据超链接元素的文本进行定位,必须完全匹配
6,partial_link_text 根据超链接元素的文本进行定位,模糊匹配
7,xpath 根据元素的路径进行定位,包括绝对路径和相对路径
8,css定位 根据元素的样式进行定位

from selenium import webdriver
from time import sleep
driver = webdriver.Chrome()
driver.get('https://www.baidu.com/')
1,根据id定位元素
input = driver.find_element_by_id('kw')
2,根据name定位元素
input = driver.find_element_by_name('wd')
3,根据class定位
input = driver.find_element_by_class_name('s_ipt')
4,写入文本
input.send_keys('货拉拉')
5,直接定位"新闻"
driver.find_element_by_link_text('新闻').click()    ...直接定位(关键字)...
6,模糊定位“直播” (只输入需要查找的内容中的一部分)
driver.find_element_by_partial_link_text('直').click()
'''定位多个元素'''(定位多个元素时,返回的是第一个值)
find_elements_by_xxx返回的是一个列表,如果没有合适的元素,则返回一个空列表
inputs = driver.find_elements_by_tag_name('input')
print(inputs)
7,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('货拉拉')   (解释:根据位置的绝对路径进行定位,可以直接打开检查的HTML文档查找或者在直接复制路径,相对和绝对都可以)
except Exception as e:
    print(e)
finally:
    driver.close()         (最后完成后关闭页面)
8,css定位 根据元素的样式进行定位
from selenium import webdriver
from time import sleep
'''css定位(cascading style sheet  层叠样式表)'''

try:
    driver = webdriver.Chrome()
    driver.get('https://www.baidu.com')

    driver.find_elements_by_css_selector('#kw').send_keys('货拉拉')
except Exception as e:
    print(e)
finally:
    sleep(8)
    #关闭当前浏览器窗口
    # driver.close()
    #退出浏览器
    driver.quit()

#绝对路径 定位搜索框 以/开始
                                   #/html/body/div[1]/div[1]/div[5]/div/div/form/span[1]/input
    # 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('//*[@id="kw"]').send_keys('微观学社')   
    # driver.find_element_by_xpath('//[@id="su"]').click()
    # driver.find_element_by_xpath('//form[@id="form"]/span[1]/iuput').send_keys('微观学社')
    driver.find_element_by_xpath('//form[@id="form"]/span[2]/iuput').send_keys('微观学社')
    # driver.find_element_by_xpath('//input[@id="su"]').click()

回复

使用道具 举报

关注0

粉丝0

帖子25

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

客服电话:17792550360

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

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

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