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

标题: python-张荣亮-2021.02.24 [打印本页]

作者: 张荣亮    时间: 2021-2-24 19:06
标题: python-张荣亮-2021.02.24
from selenium import webdriver
from time import sleep
'''
元素定位方式
id定位 根据id属性定位
name定位 根据name属性定位
class定位 根据class属性定位 --- 一般用于定位多个元素
tag_name(元素名)定位 根据元素名进行定位--- 一般用于定位多个元素
link_text 根据超链接元素的文本进行定位,必须完全匹配
partial_link_text 根据超链接元素的文本进行定位,模糊匹配
xpath 根据元素的路径进行定位,包括绝对路径和相对路径
css定位 根据元素的样式进行定位
'''
driver = webdriver.Chrome()
driver.get("https://www.baidu.com/")
'''定位单个元素'''
# 根据id定位元素
# input = driver.find_element_by_id('kw')
# 根据name定位元素
# input = driver.findname('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_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/form/span[1]/input').send_keys('货拉拉')
   
    ''' 相对路径 //开始'''
    # @ 表示属性
    # * 通配符,表示任意元素
    # driver.find_element_by_xpath('//input[@id="kw"]').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('//form[@id="form"]/span[2]/input').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')
    '''
    文本定位-精确匹配
    文本是位于开始标签和结束标签之间的文字
    '''
    # 定位贴吧 - 精确匹配
    # 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[@value="百度一下"]').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('https://www.baidu.com')
    # driver.find_element_by_xpath('//*[@id="kw"]').send_keys('货拉拉')
    driver.find_element_by_css_selector('#kw').send_keys('货拉拉')
   
except Exception as e:
    print(e)
finally:
    sleep(3)
    driver.quit()        






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