• 简单对象定位


    简单对象定位:

    webdriver 提供了一系列的元素定位方法,常用的有以下几种:

    • id
    • name
    • class name
    • tag name
    • link text
    • partial link text
    • xpath
    • css selector

    分别对应python webdriver 中的方法为:

    find_element_by_id()
    find_element_by_name()
    find_element_by_class_name()
    find_element_by_tag_name()
    find_element_by_link_text()
    find_element_by_partial_link_text()
    find_element_by_xpath()
    find_element_by_css_selector()

    1) id 和 name  定位:

    id 和name 是我们最常用的定位方式,因为大多数元素都有这两个属性,而且在对控件的id 和name
    命名时一般使其有意义也会取不同的名字。通过这两个属性使我们找一个页面上的属性变得相当容易。

    html 代码:


    <input id="gs_htif0" class="gsfi" aria-hidden="true" dir="ltr">
    <input type="submit" name="btnK" jsaction="sf.chk" value="Google 搜索">
    <input type="submit" name="btnI" jsaction="sf.lck" value=" 手气不错">


    通过元素中所带的id 和name 属性对元素进行定位:

    id=”gs_htif0”
    find_element_by_id("gs_htif0")


    name=”btnK”
    find_element_by_name("btnK")

    name=”btnI”
    find_element_by_name("btnI")

     

    2)tag name 和class name 定位

    不是所有的前端开发人员都喜欢为每一个元素添加id 和name 两个属性,但除此之外你一定发现了一
    个元素不单单只有id 和name,它还有class 属性;而且每个元素都会有标签。

    html代码:
    <div id="searchform" class="jhp_big" style="margin-top:-2px">
    <form id="tsf" onsubmit="return name="f" method="GET" action="/search">
    <input id="kw" class="s_ipt" type="text" name="wd" autocomplete="off">


    通过元素中带的class 属性对元素进行定位:


    class=”jhp_big”
    find_element_by_class_name("jhp_big")


    class=”s_ipt”
    find_element_by_class_name("s_ipt")


    通过tag 标签名对对元素进行定位:


    <div>
    find_element_by_tag_name("div")


    <form>
    find_element_by_tag_name("form")


    <input>
    find_element_by_tag_name("input")

    tag name 定位应该是所有定位方式中最不靠谱的一种了,因为在一个页面中具有相同tag name 的元
    素极其容易出现。

     

    3)link text 与partial link text 定位

    有时候需要操作的元素是一个文字链接,那么我们可以通过link text 或partial link text 进行元素
    定位。

    html代码:
    <a href="http://news.baidu.com" name="tj_news">新闻</a>
    <a href="http://tieba.baidu.com" name="tj_tieba">贴吧</a>
    <a href="http://zhidao.baidu.com" name="tj_zhidao">一个很长的文字连接</a>


    通过link text 定位元素:
    find_element_by_link_text("新闻")
    find_element_by_link_text("贴吧")
    find_element_by_link_text("一个很长的文字连接")


    通partial link text 也可以定位到上面几个元素:


    find_element_by_partial_link_text("新")
    find_element_by_partial_link_text("吧")
    find_element_by_partial_link_text("一个很长的")


    当一个文字连接很长时,我们可以只取其中的一部分,只要取的部分可以唯一标识元素。一般一个页
    面上不会出现相同的文件链接,通过文字链接来定位元素也是一种简单有效的定位方式。

     

  • 相关阅读:
    最短路径BellmanFord , Dijsktra
    minhash
    eclipse 中使用tomcat
    http 服务
    MongoDB小记
    java post 请求
    hadoop拾遗(五)---- mapreduce 输出到多个文件 / 文件夹
    weka数据挖掘拾遗(二)---- 特征选择(IG、chi-square)
    weka数据挖掘拾遗(一)---- 生成Arff格式文件
    基于SimHash的微博去重
  • 原文地址:https://www.cnblogs.com/jshtest/p/6210526.html
Copyright © 2020-2023  润新知