• selenium-webdirver api-定位方式


    1,8种单数定位方式

    # 通过ID定位目标元素
    driver.find_element_by_id('i1')
    # 通过className定位目标元素
    driver.find_element_by_class_name('classname')
    # 通过name属性定位目标元素
    driver.find_element_by_name('n1')
    # 通过Xpath定位目标元素
    driver.find_element_by_xpath('//*[@id="i1"]')
    # 通过css Selector定位目标元素
    driver.find_element_by_css_selector('[placeholder="请通过CSS SELECTOR定位元素"]')
    # 通过标签名称定位(注:在一个页面中,标签一定会重复,所以不用这个来进行定位)
    driver.find_element_by_tag_name('input')
     
    # 通过标签中的文本查找元素
    driver.find_element_by_link_text('登录')
    # 通过标签中文本的模糊匹配查找
    driver.find_elements_by_partial_link_text('录')

    2,8种复数定位方式

    # 复数模式 以tag为例 返回的是相同所有元素,以list的方式返回
    # element = driver.find_elements_by_tag_name('input')[5]
    # driver.find_elements_by_class_name()
    # driver.find_elements_by_id()
    # driver.find_elements_by_link_text()
    # driver.find_elements_by_partial_link_text()
    # driver.find_elements_by_name()
    # driver.find_elements_by_xpath()
    # driver.find_elements_by_css_selector()

    3,2种底层定位方式

    # driver.find_element()
    # driver.find_elements()


    4,向文本框发送字符串sendkeys()
    from selenium import webdriver
    '''
    # Chrome的配置
    option = webdriver.ChromeOptions()
    # # 增加启动就放大浏览器
    option.add_argument("--start-maximized")
    # # 启动浏览器
    driver = webdriver.Chrome(chrome_options=option)
    # 请求目标网址
    driver.get("http://ui.imdsx.cn/uitester/")
    #定位元素
    element = driver.find_element_by_id('i1')
    #向文本框发送字符串
    element.send_keys('UI自动化')

     4,定位到元素后,点击click

    from selenium import webdriver
    '''
    # Chrome的配置
    option = webdriver.ChromeOptions()
    # # 增加启动就放大浏览器
    option.add_argument("--start-maximized")
    # # 启动浏览器
    driver = webdriver.Chrome(chrome_options=option)
    # 请求目标网址
    driver.get("http://ui.imdsx.cn/uitester/")
    #定位链接元素
    element = driver.find_element_by_link_text('跳转大师兄博客地址')
    #点击定位到链接
    element.click()

     5,执行JavaScript语句

    # 执行JavaScript语句
    driver.execute_script('JavaScript Commond')
     
    # 例:
    # 通过js来操作滚动条
    # 参数1:x  参数2: y
    driver.execute_script('window.scrollTo(0,0);')# 滚动条滑动到顶端

    6,关闭与退出

    # 当开启多个时,关闭当前页面
    driver.close()
     
    # 退出并关闭所有页面驱动
    driver.quit()

     7,窗口大小设置

    driver = webdriver.Chrome()
    # 获取浏览器大小
    # size = driver.get_window_size()
    # # 设置浏览器大小
    # driver.set_window_size(1200,100)

    8,获取所有窗口及其他

    # 获取所有浏览器窗口的名字
    # print(driver.window_handles)
    # #获取当前浏览器窗口的名字
    # print(driver.current_window_handle)
    # 返回当前url
    # print(driver.current_url)
    # 返回是运行的什么浏览器,例如chrome
    # print(driver.name)
    # 页面面源码
    # print(driver.page_source)
    # 标题
    # print(driver.title)

    9,截取当前窗口的图片,会把当前页面截图保存

    driver.get_screenshot_as_file('test.png')

     10,element Api

    # 根据标签属性名称,获取属性value
    element.get_attribute('style')
    # 向输入框输入字符串 如果input的type为file类型 可以输入文件绝对路径上传文件
    element.send_keys() 
    # 清除文本内容
    element.clear()
    # 鼠标左键点击操作
    element.click()
    # 通过属性名称获取属性
    element.get_property('id')
     
  • 相关阅读:
    一些性能查询的SQL 备忘
    Oracle Stream配置详细步骤
    Oracle 一次生产分库,升级,迁移
    Oracle数据文件和临时文件的管理
    db_recovery_file_dest_size 修改大一点及删除归档日志 |转|
    android启动优化
    C++ primer 中文第三版 阅读笔记 第八章
    XMPP通讯开发-好友获取界面设计
    用SHELL与列表处理了件尴尬事
    各种快递查询--Api接口
  • 原文地址:https://www.cnblogs.com/niuniu2018/p/8358360.html
Copyright © 2020-2023  润新知