菁英科技(卓目鸟学苑)- 专注软件测试菁英教育

标题: selenium__张国荣__20210224 [打印本页]

作者: 淰7331    时间: 2021-2-24 20:47
标题: selenium__张国荣__20210224
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()













欢迎光临 菁英科技(卓目鸟学苑)- 专注软件测试菁英教育 (http://www.zmnxy.com/) Powered by Discuz! X3.4