zoukankan      html  css  js  c++  java
  • Selenium 自动化测试之元素定位

    #coding = utf8

    from selenium import webdriver

    driver=webdriver.Chrome()   ###谷歌浏览器

    driver.get(url)

    ###简单元素定位

    #by  id

    driver.find_element_by_id(" ")

    #by name

    driver.find_element_by_name(" ")

    #by class name

    driver.find_element_by_class_name(" ")

    #by tag name

    driver.find_element_by_tag_name("input")

    #by css

    driver.find_element_by_css_selector("a[attr=E]")

    #by xpath

    driver.find_element_by_xpath("//input[@id='kw']")

    #by link 超链接内容

    driver.find_element_by_link_text(" ")

    #by partial link text  部分链接名称

    driver.find_element_by_partial_link_text(" ")

    ####下拉框定位select

    <select id=pic name=picture>

    <option value=1>风景</option>

    <option value=2>高山</option>

    </select>

    ###1.首先定位下拉框

    pic=driver.find_element_by_id("pic")

    ###2.定位选项

    pci.find_element_by_xpath("//option[@value='1']")

    Select 其他方法

    select_by_index() :通过索引定位
    select_by_value() :通过 value 值定位
    select_by_visible_text() :通过文本值定位
    deselect_all() :取消所有选项
    deselect_by_index() :取消对应 index 选项
    deselect_by_value() :取消对应 value 选项
    deselect_by_visible_text() :取消对应文本选项
    first_selected_option() :返回第一个选项
    all_selected_options() :返回所有的选项

    ###对话框

    ##1.接受警告信息

    alert=driver.switch_to_alert()

    alert.accept()

    ##2.取消对话框

    alert=driver.switch_to_alert()

    alert.dismiss()

    ###简单操作

    点击操作:.click()

    清空操作:.clear()

    键盘操作:.send_keys(" ")

    ###多窗口操作

    1.简单方法

    # 获取所有窗口句柄

    windows = driver.window_handles

    切换到当前最新打开的窗口

    drvier.switch_to_window(windows[-1])

    2.相对复杂

    # 获得打开的第一个窗口句柄
    window_1 = driver.current_window_handle
    # 获得打开的所有的窗口句柄
    windows = driver.window_handles
    # 切换到最新的窗口
    for current_window in windows:
    if current_window != window_1:
    driver.switch_to.window(current_window)

  • 相关阅读:
    Zojax.com
    holtwick/pyxer
    深入学习爬虫的三个方向
    阅读gunicorn代码文档¶
    A database of opensource HTTP proxies written in python: htfilter2
    WebDebug: Enhancements
    北京网康科技有限公司关于网康
    用CONNECT方法突破HTTP代理服务器的扩展名封锁(python) [转] MyNewID 博客园
    NAT功能的用途是什么?有没有实例举一下?_百度知道
    wsgiref — WSGI Utilities and Reference Implementation¶
  • 原文地址:https://www.cnblogs.com/xfbc/p/9955123.html
Copyright © 2011-2022 走看看