• 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

    上班求生存,下班求发展
  • 相关阅读:
    001-快速排序(C++实现)
    NDK: ant 错误 [javah] Exception in thread "main" java.lang.NullPointerException 多种解决办法
    jenkins数据迁移方案
    gitlab仓库迁移方案
    rancher中搭建elk,部分配置文件
    Spring事务传播行为详解
    Linux下安装配置启动RabbitMQ
    Nginx做代理路由时,不转发http的header问题
    @Validated @RequestBody @RequestParam配合使用校验参数
    jenkins环境搭建
  • 原文地址:https://www.cnblogs.com/ljf520hj/p/11904820.html
Copyright © 2020-2023  润新知