• Selenium3+webdriver学习笔记3(xpath方式元素定位)


    #!/usr/bin/env python
    # -*- coding:utf-8 -*-

    from selenium import webdriver

    import time,os

    # about:addons 火狐浏览器安装组件,访问的地址

    # <input id="kw" name="wd" class="s_ipt" value="" maxlength="255" autocomplete="off">
    #id
    keys="selenium自动化"
    # url="https://www.baidu.com/"
    # url="file:///D:/ideaSpace/autoProject/python_autotest/nicetime/webdriver/select01.html"
    url="file:///D:/ideaSpace/autoProject/python_autotest/nicetime/webdriver/a03.html"
    driver=webdriver.Firefox()

    driver.get(url)

    #id name class 属性定位
    driver.find_element_by_xpath("//*[@id='kw']").send_keys(keys)
    driver.find_element_by_xpath("//*[@name='wd']").send_keys(keys)
    driver.find_element_by_xpath("//*[@class='s_ipt']").send_keys(keys)

    #其他属性定位
    driver.find_element_by_xpath("//*[@autocomplete='off']").send_keys(keys)

    #指定标签名称 写标签名称,不指定则写 *,如搜索框 input
    driver.find_element_by_xpath("//input[@class='s_ipt']").send_keys(keys)

    #通过多级层级来定位 ,上一个层级 上上层级
    # <form name="f" id="form" action="/s" class="fm" onsubmit="javascript:F.call('ps/sug','pssubmit');">
    # <span id="s_kw_wrap" class="bg s_ipt_wr quickdelete-wrap">
    # <span class="soutu-btn"></span><input type="text" class="s_ipt" name="wd" id="kw" maxlength="100" autocomplete="off">

    driver.find_element_by_xpath("//form[@id='form']/span/input").send_keys(keys)

    #select01.html文件
    # 下拉框选择形式
    # <select id="status" class="form-control valid" onchange="" name="status">
    # <option value=""></option>
    # <option value="0">未审核</option>
    # <option value="1">初审通过</option>
    # <option value="2">复审通过</option>
    # <option value="3">审核不通过</option>
    # </select>

    driver.find_element_by_xpath("//option[@value='2']").click()

    # <a href="https://www.hao123.com" target="_blank" class="mnav">hao123</a>
    # 模糊匹配
    driver.find_element_by_xpath("//*[contains(text(),'hao123')]").click()

    # <input id="kw" name="wd" class="s_ipt" value="" maxlength="255" autocomplete="off">
    #模糊匹配 包含属性
    driver.find_element_by_xpath("//*[contains(@id,'kw')]").send_keys(keys)

    #模糊匹配 已什么开头
    driver.find_element_by_xpath("//input[starts-with(@class,'s_')]").send_keys(keys)

    # find_element方式 单个数据
    driver.find_element(by='id',value='kw').send_keys(keys)

    # a03.html文件
    # <div id="u_sp" class="s-isindex-wrap s-sp-menu">
    # <a href="http://news.baidu.com" target="_blank" class="mnav">新闻</a>
    # <a href="https://www.hao123.com" target="_blank" class="mnav">hao123</a>
    # <a href="http://map.baidu.com" target="_blank" class="mnav">地图</a>
    # <a href="http://v.baidu.com" target="_blank" class="mnav">视频</a>
    # <a href="http://tieba.baidu.com" target="_blank" class="mnav">贴吧</a>
    # <a href="http://xueshu.baidu.com" target="_blank" class="mnav">学术</a>
    # <a id="s_username_top" class="s-user-name-top" data-tid="2004" href="http://i.baidu.com/" target="_blank"></a></div>

    #find_elements方式 多个数据
    len1=driver.find_elements_by_xpath("//a[@class='mnav']")
    len2=driver.find_elements(by='class name',value='mnav')
    print(len(len1))
    print(len(len2))

    time.sleep(3)
    driver.quit()


  • 相关阅读:
    UIPickerView
    visual studio2010生成get方法和set方法快捷键
    vmware安装mac虚拟机键盘失灵解决方法
    运行android模拟器过大
    [SQL Utility] How to retrieve Oracle’s version info?
    【读书笔记】c# in depth (1)
    [Oracle 10g] About Recycle bin
    [Oracle Troubleshooting] Get Oracle Bounces When Data File Is Missing
    [Oracle Mgmt]Clone Oracle Database Manually
    [SQL*PLUS]Set Up Sql*Plus
  • 原文地址:https://www.cnblogs.com/NiceTime/p/10061755.html
Copyright © 2020-2023  润新知