栏目分类:
子分类:
返回
名师互学网用户登录
快速导航关闭
当前搜索
当前分类
子分类
实用工具
热门搜索
名师互学网 > IT > 软件开发 > 后端开发 > Python

【Python+Selenium基本语法 及 小案例测试】

Python 更新时间: 发布时间: IT归档 最新发布 模块sitemap 名妆网 法律咨询 聚返吧 英语巴士网 伯小乐 网商动力

【Python+Selenium基本语法 及 小案例测试】

Python+Selenium基本语法 及 小案例测试
  • 小案例 博客登录成功测试

    from time import sleep
    from selenium import webdriver
    driver=webdriver.Chrome()
    driver.get('http://localhost:8080/gugu/login.jsp')
    sleep(3)
    driver.find_element_by_id('L_username').send_keys('tom')
    sleep(3)
    driver.find_element_by_id('yang').send_keys('123')
    sleep(3)
    driver.find_element_by_xpath('//*[@id="TANGRAM__PSP_11__submit"]').click()
    sleep(5)
    driver.quit()
    
    
    
    from time import sleep
    #导包 webdriver
    from selenium import webdriver
    #获取Chrome浏览器对象:
    driver=webdriver.Chrome()
    #打开百度
    driver.get('http://www.baidu.com')
    #暂停3秒
    sleep(3)
    driver.find_element_by_xpath('//*[@id="u1"]/a').click()
    sleep(3)
    driver.find_element_by_xpath('//*[@id="TANGRAM__PSP_11__footerULoginBtn"]').click()
    sleep(3)
    driver.find_element_by_id('TANGRAM__PSP_11__userName').send_keys('15155256225')
    sleep(3)
    driver.find_element_by_id('TANGRAM__PSP_11__password').send_keys('2324480129g')
    sleep(3)
    driver.find_element_by_xpath('//*[@id="TANGRAM__PSP_11__submit"]').click()
    sleep(5)
    #//*[@id="u1"]/a
    #关闭浏览器驱动
    driver.quit()
    
    
  • 元素定位

    自动化的核心是定位元素,Selenium提供了八种定位元素的方法,常见如下:

    1、定位单个元素

    • id定位:driver.find_element_by_id()
    • name定位:driver.find_element_by_name()
    • class定位:driver.find_element_by_class_name()
    • link定位:driver.find_element_by_link_text()
    • partial link定位:driver.find_element_by_partial_link_text()
    • tag定位:driver.find_element_by_tag_name()
    • css定位:driver.find_element_by_css_selector()
    • xpath定位:driver.find_element_by_xpath()

    2、定位一组元素取下标定位

    • id定位:driver.find_elements_by_id()[]
    • name定位:driver.find_elements_by_name()[]
    • class定位:driver.find_elements_by_class_name()[]
    • link定位:driver.find_elements_by_link_text()[]
    • partial link定位:driver.find_elements_by_partial_link_text()[]
    • tag定位:driver.find_elements_by_tag_name()[]
    • css定位:driver.find_elements_by_css_selector()[]
    • xpath定位:driver.find_elements_by_xpath()[]

    3、class定位

    class定位主要是利用元素的css样式表所引用的伪类名称来进行元素查找,实际定位时,会经常发现一个元素的class name是由多个class组成的复合类,以空格隔开

    class含空格解决办法有

    (1)class属性唯一但有空格,选择空格两边唯一的那一个

    (2)空格隔开的class不唯一,用索引定位

    (3)通过css方法定位,空格用.代替

    4、xpath定位

    xpath就是XML path,可以用xpath来定位html文档中的任意元素,xpath定位是对整个文档进行扫描来定位元素,效率比较低

    • a.xpath有绝对路径和相对路径,绝对路径用/,相对路径用//
    • b.xpath以/开头表示让解析引擎从文档的根节点开始,以//开头表示让解析引擎从文档的任意符合的元素节点开始解析
    • c.xpath路径中有/表示寻找父节点的直接子节点,路径中有//表示寻找父节点所有符合的子节点

    5、css定位

    css定位和xpath定位类似,但是css执行速度比较快

    6、xpath和css定位


  • 细节讲解:

    ###### *具体解析:
    # send_keys():输入文字
    # clear():清除文字
    # click():点击按钮
    
    
    from time import sleep
    from selenium import webdriver
    driver=webdriver.Chrome()
    driver.get('http://localhost:8080/gugu/login.jsp')
    sleep(3)
    driver.find_element_by_id('L_username').send_keys('tom')
    sleep(3)
    driver.find_element_by_id('yang').send_keys('123')
    sleep(3)
    driver.find_element_by_xpath('//*[@id="TANGRAM__PSP_11__submit"]').click()
    sleep(5)
    driver.quit()
    ---------------------------------------------------
    from time import sleep
    from selenium import webdriver
    driver=webdriver.Chrome()
    driver.get('http://www.baidu.com')
    sleep(3)
    driver.find_element_by_xpath('//*[@id="u1"]/a').click()
    sleep(3)
    driver.find_element_by_xpath('//*[@id="TANGRAM__PSP_11__footerULoginBtn"]').click()
    sleep(3)
    driver.find_element_by_id('TANGRAM__PSP_11__userName').send_keys('15155256225')
    sleep(3)
    driver.find_element_by_id('TANGRAM__PSP_11__password').send_keys('2324480129g')
    sleep(3)
    driver.find_element_by_xpath('//*[@id="TANGRAM__PSP_11__submit"]').click()
    sleep(5)
    #//*[@id="u1"]/a
    #关闭浏览器驱动
    driver.quit()
    ---------------------------------------------------
    from time import sleep
    from selenium import webdriver			
    browser = webdriver.Chrome()			#声明浏览器对象
    browser.get('http://www.baidu.com')   # 使用get方法请求百度网页
    sleep(3)
    input = browser.find_element_by_id('kw')
    sleep(3)
    input.send_keys('this')
    sleep(3)
    browser.find_element_by_id('su').click()
    sleep(5)				#延时等待
    
    print(input)
    # 获取节点id
    print(input.id)
    # 获取节点在页面的相对位置
    print(input.location)
    # 获取节点标签名称
    print(input.tag_name)
    # 获取节点大小
    print(input.size)
    
    print(input)
    print(input.text)
    
    browser.close()
    
转载请注明:文章转载自 www.mshxw.com
本文地址:https://www.mshxw.com/it/853226.html
我们一直用心在做
关于我们 文章归档 网站地图 联系我们

版权所有 (c)2021-2022 MSHXW.COM

ICP备案号:晋ICP备2021003244-6号