zoukankan      html  css  js  c++  java
  • selenium定位方法

    面试常见题

    Selenium有几种定位方式?你最偏爱哪一种,为什么?
    Selenium有八种定位方式:
    与name有关的有三种:name、class_name、tag_name
    与link相关的有两种:link_text、partitial_link_text
    与id有关:id
    全能选手:xpath、css_selector

    如果存在id,我一定使用Id,因为简单方便,定位最快。其次是Xpath,因为很多情况下html标签的属性不够规范,无法唯一定位。Xpath是通过相对位置定位
    如果没有,那么CSS定位器应该被优先考虑,因为在大多数现代浏览器中,它们的评估速度比XPath更快。

    1、返回值是单个元素

    --通过id定位元素:find_element_by_id("id_vaule")

    例:find_element_by_id("kw")

    --通过name定位元素:find_element_by_name("name_vaule")

    例:find_element_by_name("wd")

    --通过tag_name定位元素:find_element_by_tag_name("tag_name_vaule")

    例:find_element_by_tag_name("input")

    --通过class_name定位元素:find_element_by_class_name("class_name")

    例:find_element_by_class_name("s_ipt")

    --通过css定位元素:find_element_by_css_selector()

    例:find_element_by_css_selector("span.bg s_ipt_wr quickdelete-wrap>input.s_ipt")

    find_element_by_css_selector("#kw")

    --通过xpath定位元素:find_element_by_xpath("xpath")

    例:find_element_by_xpath("//*[@id="kw"]")

    --通过link:find_element_by_link_text("text_vaule")

    例:find_element_by_partial_link_text("百度一下")

    2、返回值是多个元素

    --id复数定位find_elements_by_id(self, id_)
    --name复数定位find_elements_by_name(self, name)
    --class复数定位find_elements_by_class_name(self, name)
    --tag复数定位find_elements_by_tag_name(self, name)
    --link复数定位find_elements_by_link_text(self, text)
    --partial_link复数定位find_elements_by_partial_link_text(self, link_text)
    --xpath复数定位find_elements_by_xpath(self, xpath)
    --css复数定位find_elements_by_css_selector(self, css_selector

    上班求生存,下班求发展
  • 相关阅读:
    hdu 5387 Clock (模拟)
    CodeForces 300B Coach (并查集)
    hdu 3342 Legal or Not(拓扑排序)
    hdu 3853 LOOPS(概率DP)
    hdu 3076 ssworld VS DDD(概率dp)
    csu 1120 病毒(LICS 最长公共上升子序列)
    csu 1110 RMQ with Shifts (线段树单点更新)
    poj 1458 Common Subsequence(最大公共子序列)
    poj 2456 Aggressive cows (二分)
    HDU 1869 六度分离(floyd)
  • 原文地址:https://www.cnblogs.com/ljf520hj/p/11904820.html
Copyright © 2011-2022 走看看