热门标签 | HotTags
当前位置:  开发笔记 > 编程语言 > 正文

3.定位单个对象

以下方法都可以用来定位某个对象,优先选择id,name.find_element_by_idfind_element_by_namefind_element_by_xpathfin

以下方法都可以用来定位某个对象,优先选择id,name.

  • find_element_by_id
  • find_element_by_name
  • find_element_by_xpath
  • find_element_by_link_text
  • find_element_by_partial_link_text
  • find_element_by_tag_name
  • find_element_by_class_name
  • find_element_by_css_selector

  1. Location by ID
    login_form = driver.find_element_by_id(‘loginForm‘)
    ,
  2. Location by Name
    username = driver.find_element_by_name(‘username‘)
    password = driver.find_element_by_name(‘password‘)

    ,
  3. Location by XPATH
      绝对路径(如何html有轻微的调整就会失效)
    login_form = driver.find_element_by_xpath("/html/body/form[1]")
    相对路径元素位置 login_form = driver.find_element_by_xpath("//form[1]")
    相对路径元素属性 login_form = driver.find_element_by_xpath("//form[@id=‘loginForm‘]")

    相对路径子元素的name属性
    username = driver.find_element_by_xpath("//form[input/@name=‘username‘]")
    相对路径id熟悉后index username = driver.find_element_by_xpath("//form[@id=‘loginForm‘]/input[1]")
    相对路径name属性 username = driver.find_element_by_xpath("//input[@name=‘username‘]")

    相对路径中的双属性name和type
    clear_button = driver.find_element_by_xpath("//input[@name=‘continue‘][@type=‘button‘]")
    相对路径中前id属性后index clear_button = driver.find_element_by_xpath("//form[@id=‘loginForm‘]/input[4]")
    ,
    • W3Schools XPath Tutorial
    • W3C XPath Recommendation
    • XPath Tutorial - with interactive examples.
     

    There are also a couple of very useful Add-ons that can assist in discovering the XPath of an element:

    • XPath Checker - suggests XPath and can be used to test XPath results.
    • Firebug - XPath suggestions are just one of the many powerful features of this very useful add-on.
    • XPath Helper - for Google Chrome

  4. Location Hyperlink by Link Text
    continue_link = driver.find_element_by_link_text(‘Continue‘)
    continue_link = driver.find_element_by_partial_link_text(‘Conti‘)
    ,
  5. Location by Tag Name
    heading1 = driver.find_element_by_tag_name(‘h1‘)
    ,
  6. Location by Class Name
    content = driver.find_element_by_class_name(‘content‘)
    ,
    
    
  7. Location by CSS Selector
    content = driver.find_element_by_css_selector(‘p.content‘)
    ,
    Sauce Labs has good documentation on CSS selectors.

3. 定位单个对象,,

3. 定位单个对象


推荐阅读
  • 在 Axublog 1.1.0 版本的 `c_login.php` 文件中发现了一个严重的 SQL 注入漏洞。该漏洞允许攻击者通过操纵登录请求中的参数,注入恶意 SQL 代码,从而可能获取敏感信息或对数据库进行未授权操作。建议用户尽快更新到最新版本并采取相应的安全措施以防止潜在的风险。 ... [详细]
  • 如果应用程序经常播放密集、急促而又短暂的音效(如游戏音效)那么使用MediaPlayer显得有些不太适合了。因为MediaPlayer存在如下缺点:1)延时时间较长,且资源占用率高 ... [详细]
  • NX二次开发:UFUN点收集器UF_UI_select_point_collection详解
    本文介绍了如何在NX中使用UFUN库进行点收集器的二次开发,包括必要的头文件包含、初始化和选择点集合的具体实现。 ... [详细]
  • importpymysql#一、直接连接mysql数据库'''coonpymysql.connect(host'192.168.*.*',u ... [详细]
  • 浏览器作为我们日常不可或缺的软件工具,其背后的运作机制却鲜为人知。本文将深入探讨浏览器内核及其版本的演变历程,帮助读者更好地理解这一关键技术组件,揭示其内部运作的奥秘。 ... [详细]
  • 在Eclipse中提升开发效率,推荐使用Google V8插件以增强Node.js的调试体验。安装方法有两种:一是通过Eclipse Marketplace搜索并安装;二是通过“Help”菜单中的“Install New Software”,在名称栏输入“googleV8”。此插件能够显著改善调试过程中的性能和响应速度,提高开发者的生产力。 ... [详细]
  • 作为软件工程专业的学生,我深知课堂上教师讲解速度之快,很多时候需要课后自行消化和巩固。因此,撰写这篇Java Web开发入门教程,旨在帮助初学者更好地理解和掌握基础知识。通过详细记录学习过程,希望能为更多像我一样在基础方面还有待提升的学员提供有益的参考。 ... [详细]
  • 本文详细探讨了使用Python3编写爬虫时如何应对网站的反爬虫机制,通过实例讲解了如何模拟浏览器访问,帮助读者更好地理解和应用相关技术。 ... [详细]
  • 蒜头君的倒水问题(矩阵快速幂优化)
    蒜头君将两杯热水分别倒入两个杯子中,每杯水的初始量分别为a毫升和b毫升。为了使水冷却,蒜头君采用了一种特殊的方式,即每次将第一杯中的x%的水倒入第二杯,同时将第二杯中的y%的水倒入第一杯。这种操作会重复进行k次,最终求出两杯水中各自的水量。 ... [详细]
  • 经过一年的思考,我发现自己对开发的兴趣并不浓厚,而对算法研究则更加热衷。本文将探讨开发与算法之间的本质差异,并分享我的未来学习计划。 ... [详细]
  • Bootstrap 缩略图展示示例
    本文将展示如何使用 Bootstrap 实现缩略图效果,并提供详细的代码示例。 ... [详细]
  • 我在使用Laravel 5.4时遇到了一个问题,当我发送Markdown格式的邮件时,输出结果并不如预期。以下是详细情况和解决方案。 ... [详细]
  • 使用jqTransform插件美化表单
    jqTransform 是由 DFC Engineering 开发的一款 jQuery 插件,专用于美化表单元素,操作简便,能够美化包括输入框、单选按钮、多行文本域、下拉选择框和复选框在内的所有表单元素。 ... [详细]
  • 本文介绍了如何利用Struts1框架构建一个简易的四则运算计算器。通过采用DispatchAction来处理不同类型的计算请求,并使用动态Form来优化开发流程,确保代码的简洁性和可维护性。同时,系统提供了用户友好的错误提示,以增强用户体验。 ... [详细]
  • 技术日志:使用 Ruby 爬虫抓取拉勾网职位数据并生成词云分析报告
    技术日志:使用 Ruby 爬虫抓取拉勾网职位数据并生成词云分析报告 ... [详细]
author-avatar
BigBigBigBigPX
这个家伙很懒,什么也没留下!
PHP1.CN | 中国最专业的PHP中文社区 | DevBox开发工具箱 | json解析格式化 |PHP资讯 | PHP教程 | 数据库技术 | 服务器技术 | 前端开发技术 | PHP框架 | 开发工具 | 在线工具
Copyright © 1998 - 2020 PHP1.CN. All Rights Reserved | 京公网安备 11010802041100号 | 京ICP备19059560号-4 | PHP1.CN 第一PHP社区 版权所有