我的账户
啄木鸟学院

专注软件测试菁英教育

亲爱的游客,欢迎!

已有账号,请

如尚未注册?

selenium-贺威栋-2021.02.24

[复制链接]
I5029学员认证 发表于 2021-2-24 20:18:04 | 显示全部楼层 |阅读模式 打印 上一主题 下一主题
from selenium import webdriver
# from time import sleep
'''
元素定位方式
id定位
name定位
class定位 --- 一般用于定位多个元素
tag_name(元素名)定位 --- 一般用于定位多个元素
link_text 根据超链接元素的文本进行定位,必须完全匹配
partial_like_text 根据超链接元素的文本进行定位,模糊匹配
xpath 根据元素的路径进行定位,包括绝对路径和相对路径
css定位 根据元素的样式进行定位
'''
driver = webdriver.Chrome()
driver.get("https://www.baidu.com/")
'''定位单个元素'''
# 根据id定位元素
# driver.find_element_by_id('kw').send_keys('货拉拉')
# 根据name定位元素
# driver.find_element_by_name('wd').send_keys('货拉拉')
# 根据class定位元素
# driver.find_element_by_class_name('s_ipt').send_keys('货拉拉')
# 根据id定位“百度一下”
# driver.find_element_by_id('su').click()
# 根据class定位“百度一下”
# driver.find_element_by_class_name('s_btn').click()
# 定位“新闻”
# driver.find_element_by_link_text('新闻').click()
# 定位“视频”
# driver.find_element_by_partial_link_text('视').click()
'''定位多个元素'''
# find_elements_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/div[2]/div[5]/div[1]/div/form/span[1]/input').send_keys('货拉拉')
    ''' 相对路径 “//”开始 '''
    # @ 表示属性
    # driver.find_element_by_xpath('//input[@id = "kw"]').send_keys('货拉拉')
    # driver.find_element_by_xpath('//input[@name = "wd"]').send_keys('货拉拉')
    # driver.find_element_by_xpath('//input[@class = "s_ipt"]').send_keys('货拉拉')
    # driver.find_element_by_xpath('//input[@autocomplete = "off"]').send_keys('货拉拉')
    # driver.find_element_by_xpath('//form[@id="form"]/span[1]/input').send_keys('货拉拉')
    '''可以同时使用多个属性进行定位'''
    driver.find_element_by_xpath('//input[@class="s_ipt" and @autocomplete = "off"]').send_keys('货拉拉')
    # driver.find_element_by_xpath('//input[@id = "su"]').click()
    # driver.find_element_by_xpath('//input[@value = "百度一下"]').click()
    driver.find_element_by_xpath('//form[@id = "form"]/span[2]').click()
except Exception as e:
    print(e)
finally:
    sleep(3)
    driver.close()
from selenium import webdriver
from time import sleep
'''
xpath定位
'''
try:
    driver = webdriver.Chrome()
    driver.get('https://www.baidu.com/')
    '''
    文本定位
    文本是位于开始标签和结束标签之间的文字
    text()获取元素的文本
    '''
    # 定位贴吧 - 精确匹配
    # driver.find_element_by_xpath('//a[text() = "贴吧"]').click()
    # 定位设置
    # driver.find_element_by_xpath('//span[text() = "设置"]').click()
    '''文本定位 - 模糊匹配'''
    # 定位 百度热榜
    # driver.find_element_by_xpath('//*[contains(text(),"度热榜")]').click()
    '''属性定位 - 模糊匹配'''
    driver.find_element_by_id('kw').send_keys('货拉拉')
    driver.find_element_by_xpath('//input[contains(@value,"一下")]').click()
except Exception as e:
    print(e)
finally:
    sleep(2)
    # 关闭当前浏览器窗口
    # driver.close()
    # 退出浏览器
    driver.quit()
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(3)
    driver.quit()

回复

使用道具 举报

关注0

粉丝0

帖子27

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

客服电话:17792550360

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

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

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