您的位置:首页 > 编程语言 > Python开发

【二】【selenium+python】发现页面元素的方法介绍

2017-07-02 13:26 549 查看
本片文章拿百度首页测试

一。id定位 :   find_element_by_id()

example.     find_element_by_id("kw")  定位输入框

                      find_element_by_id("su")  定位百度一下按钮

二。name定位 : find_element_by_name()

example.     find_element_by_name("wd")  定位输入框

三。class定位:   find_element_by_class_name()

example.    find_element_by_class_name("s_ipt")  定位输入框

                    find_element_by_class_name("bg s_btn")  定位百度一下按钮

四。tag(标签)定位:  find_element_by_tag_name() 


example.    find_element_by_tag_name("input")  你会发现,百度输入框与百度按钮的tag一样,所以不好定位

    一般定位方法不用find_element_by_tag_name()

五。link定位 : 此方法与其他定位方法不一样,专门用于定位文本链接 find_elemnet_by_link_text()

example.      find_element_by_link_text("新闻") 百度首页右上角新闻按钮

                      find_element_by_link_text(“hao123”) 百度首页右上角hao123按钮

  此外。find_element_by_partial_link_text() 是对link定位的一个补充,很可能有些文本链接会比较长,这个时候这个partial_link就是截取部分文本链接

六。xpath定位:   find_element_by_xpath("")   


    1.绝对路径定位



  如上图find_element_by_xpath("/html/body/div[2]/div/div/div/div/form/input")  定位百度输入框

  xpath主要是用标签名的层级关系来定位元素的绝对路径。如果当前层级下有多个相同的标签名,那么按上下顺序确定是第几个。

   2.利用元素属性定位 :除了绝对路径外,Xpath也可以用元素的属性值来定位

      以百度输入框和搜索按钮为例

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

      find_element_by_xpath("//input[@id="su"]")

      //表示当前页面某个目录下,input表示定位元素的标签名,@id="kw表示这个元素的id属性值等于kw。元素的任意属性值可以使用,只要它能唯一的标识一个元素,例如

    find_element_by_xpath("//input[@autocomplete="off"]")

 2.1 层级与属性的结合

        如果一个元素本身没有可以唯一标识这个元素的属性值,那么我们可以找上一级元素,如果它的上一级元素有可以表示的唯一属性值,也可以拿来使用。例如  find_element_by_xpath("//span[@class="bs s_ipt_wr"]/input")

七。CSS定位
内容来自用户分享和网络整理,不保证内容的准确性,如有侵权内容,可联系管理员处理 点击这里给我发消息