我的账户
啄木鸟学院

专注软件测试菁英教育

亲爱的游客,欢迎!

已有账号,请

如尚未注册?

selenium__张国荣__20210224

[复制链接]
淰7331学员认证 发表于 2021-2-24 20:47:56 | 显示全部楼层 |阅读模式 打印 上一主题 下一主题
from selenium import webdriver
from time import sleep
元素定位方式
ID定位:根据ID属性定位
name定位:根据name属性定位
class定位:根据class属性定位---一般用于定位多个元素
tag_name(元素名)定位:一般用于定位多个元素
link_test:根据超链接元素的文本定位,必须完全匹配
partial_link_text:根据超链接元素的文本进行定位,模糊匹配

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('货拉拉')
sleep(2)

根据ID定位‘百度一下’
btn = driver.find_element_by_id('su')
根据class进行定位: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_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[1]/div[1]/div[5]/div/div/from/span[1]/input').send_keys('货拉拉')

相对路径   以//开始
@表示属性
*  通配符,表示任意元素
driver.find_element_by_xpath('//input[@id="kw"].send_keys('货拉拉')
driver.find_element_by_xpath('//input[@id="su"].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('//form[@id="form"]/span[2]/input').click()
driver.find_element_by_xpath('//form[@id="form"]/span[2]/input').click()

except Exception as e :
    print(e)
finally:
    sleep(2)
    driver.close()
from selenium import webdriver
from time import sleep

try:
    driver = webdriver.Chrome()
    driver.get('https://www.baidu.com')
文本定位
文本定位于开始标签和结束标签之间的文字
text()获取元素文本
contains   包含元素文本,所有的否可以用

定位贴吧--精确匹配
driver.find_element_by_xpath('//a[text()="贴吧"]').click()

定位设置
driver.find_element_by_xpath('//span[text()="设置"]').click()

模糊匹配
driver.find_element_by_xpath('//*[contains(),"度热榜")]').click()
driver.find_element_by_xpath('//input[contains(@value,"一下")]').click()

except Exception as e:
    print(e)
finally:
    sleep(3)
关闭当前浏览器
    driver.close()
退出浏览器
    driver.quit()
from selenium import webdriver
from time import sleep

try:
    driver = webdriver.Chrome()
    driver.get('http://www.baidu.com')
    driver.find_element_by_xpath('#kw').send_keys()
except Exception as e:
    print(e)
finally:
    sleep(3)
    driver.quit()








回复

使用道具 举报

关注0

粉丝0

帖子23

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

客服电话:17792550360

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

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

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