selenium自动化测试中,提供了单个元素定位方法,多个元素定位方法,2种方式都是根据元素属性:ID、NAME、CLASS_NAME、TAG_NAME、CSS_SELECTOR、XPATH、LINK_TEXT、PARTIAL_LINK_TXEXT来进行定位,本文以实例作为说明

  以chrom打开百度首页为例子,右键选择-检查,打开开发者工具,点击选中搜索栏,可以定位到以下代码,以该搜索栏定位来分析单元素定位方法。

  1.find_element_by_id:

   通过元素属性ID来定位到元素,方法是find_element_by_id,以上述输入框为例,它的ID属性是kw,代码如下:

     browser.find_element_by_id("kw").send_keys("selenium")

  2.find_element_by_name:
  通过元素属性NAME来定位到元素,方法是find_element_by_NAME,以上述输入框为例,它的NAME属性是wd,代码如下:
  browser.find_element_by_name("wd").send_keys("selenium")
  3.find_element_by_class_name:
  通过元素属性class_name来定位到元素,方法find_element_by_class_name,以上述输入框为例,它的class_name属性是s_ipt,代码如下:
  
browser.find_element_by_class_name("s_ipt").send_keys("selenium")
4.find_element_by_xpath:
  通过XPATH定位输入框,方法是find_element_by_xpath,获取的方式是定位到输入框的元素属性后,可以右键点击该属性,选中copy xpath选项,代码如下:
  browser.find_element_by_xpath('//*[@id="kw"]').send_keys("selenium")
 5.find_element_by_link_text:
  link_text用于对超链接的处理,在HTML代码中主要是以标签a对应,方法是find_element_by_link_text,以点击百度首页的“新闻”链接为例子,代码是<a href="http://news.baidu.com" name="tj_trnews" class="mnav">新闻</a>,那么可以使用以下方法定位:
  browser.find_element_by_link_text("新闻").click().
6.find_element_by_partial_link_text:
  partial_link_text也用于超链接的处理,它和link_text类似,只不过是用于模糊匹配,例如匹配“新闻”,操作的时候只填写“闻”就可以定位到,方法:find_element_by_partial_link_text,代码:
  browser.find_element_by_partial_link_text("闻").click()
7.find_element_by_css_selector:
  当使用ID、NAME属性无法定位到元素时,可以使用CSS_SELECTOR来定位,方法是find_element_by_css_Selector,还是以百度输入框为例,右键单击copy,选中copy selector,代码如下:
  browser.find_element_by_css_selector("#kw").send_keys("selenium")  以上方法是总结单个元素定位的7种方法,个人比较喜欢使用XPATH进行定位,XPATH语法可以参考https://zhuanlan.zhihu.com/p/29436838。
 
 

selenium的定位方法-单元素定位的更多相关文章

  1. selenium的定位方法-多元素定位

    在实际工作中,有些时候定位元素使用ID.NAME.CLASS_NMAE.XPATH等方法无法定位到具体元素,会发现元素属性有很多一致的,这个时候使用单元素定位方法无法准确定位到具体元素,例如,百度首页 ...

  2. selenium定位方法-iframe元素定位方法

    在自动化测试中,如果无法定位到一个元素,那么最大的可能是定位的元素是在iframe框架中,iframe对象代表一个HTML的内联框架,在HTML中,iframe每出现一次,一个iframe对象就会被创 ...

  3. selenium python (二) 元素定位方法

    定位的原则就是:id name class 优先,强烈建议和前端哥哥搞好关系.定位就不是问题:实在不行就xpath和css大部分偶可以定位到. webdriver定位的方法是通过一个By类,By类中有 ...

  4. Selenium定位二 --多个元素定位方法 和层级定位方法

    定位多个元素: findElements()方法可以返回一个符合条件的元素List 组 如: public void hitUpdatePersonnel(WebDriver driver, int ...

  5. Selenium定位一 --单个元素定位方法

    Selenium-Webdriver 提供了强大的元素定位方法,支持以下三种方法. 单个对象的定位方法 多个对象的定位方法 层级定位 定位单个元素在定位单个元素时,selenium-webdriver ...

  6. UI自动化测试(二)浏览器操作及对元素的定位方法(xpath定位和css定位详解)

    Selenium下的Webdriver工具支持FireFox(geckodriver). IE(InternetExplorerDriver).Chrome(ChromeDriver). Opera( ...

  7. Selenium:WebDriver简介及元素定位

    参考内容:官方API文档,下载链接:http://download.csdn.net/detail/kwgkwg001/4004500 虫师:<selenium2自动化测试实战-基于python ...

  8. 跟浩哥学自动化测试Selenium -- 浏览器的基本操作与元素定位(3)

    浏览器的基本操作与元素定位 通过上一章学习,我们已经学会了如何设置驱动路径,如何创建浏览器对象,如何打开一个网站,接下来我们要进行一些复杂的操作比如先打开百度首页,在打开博客园,网页后退,前进等等,甚 ...

  9. Selenium with Python 003 - 页面元素定位

    WebUI自动化,首先需要定位页面中待操作的元素,然后进行各种事件操作,这里我们首先介绍Selenium Python 如何定位页面元素,WebDriver 提供了一系列的方法. 定位单个页面元素(返 ...

随机推荐

  1. BZOJ2780(广义后缀自动机,set启发式合并)

    BZOJ2780(广义后缀自动机,set启发式合并) 题面 自己找去 HINT 就是给多个文本串,然后每次查询的时候问你这个串在多少个文本串中出现过.因为多个文本串,那么直接就往广义后缀自动机上思考啊 ...

  2. sublime text 3安装html-css-js prettify后使用时报错An unhandled OS error was encountered

    我在安装代码格式整理插件 html-css-js prettify 后,在使用时弹出报错提示如下图 意思大概是node.js什么路径没配置对,对于开始下载sublime text 3使用到各种插件的安 ...

  3. 126.自动处理上传的文件,获取上传文件的url

    使用模型来处理上传的文件: 在定义模型的时候,我们可以给存储的文件的字段指定为FileField,这个field可以传递一个upload_to参数,用来指定上传上来的文件保存到哪里,比如我们让它保存到 ...

  4. uniGUI之自定义JS事件动作ClientEvents(30)

    sender.setText('Over'); MainForm.UniLabel1.setPosition(x, y); MainForm.UniLabel1.setText('Click!');

  5. LaTeX技巧005:定制自己炫酷的章节样式实例

    示例一: 实现代码: \usepackage[Lenny]{fncychap} 示例二: 实现代码: \usepackage[avantgarde]{quotchap} \renewcommand\c ...

  6. ajax从jsp向servlet传值

    function Delete(s){ xmlHttp=new XMLHttpRequest(); var url = "/emp/FindSpecial?selcol=" +s; ...

  7. 阿里云部署JeecgBoot

    阿里云部署JeecgBoot 首先贴出官网教程:http://jeecg-boot.mydoc.io/?t=345682 自己在部署的时候遇到了各种各样的问题,其实一步一步的按照官网给出的步骤来是没问 ...

  8. 机器学习作业(四)神经网络参数的拟合——Python(numpy)实现

    题目下载[传送门] 题目简述:识别图片中的数字,训练该模型,求参数θ. 出现了一个问题:虽然训练的模型能够有很好的预测准确率,但是使用minimize函数时候始终无法成功,无论设计的迭代次数有多大,如 ...

  9. 基于Web的网络商城项目设计与实现【SSM+Bootstrap+Vue】

    [Spring+SpringMVC+MyBatis+Bootstrap+Vue] 演示:线路1  线路2 1.系统功能介绍 网上商城系统 是一个功能完善的在线购物系统 - ,主要为在线销售和在线购物服 ...

  10. 四种webAPP横向滑动模式图解—H5页面开发

    一.容器整体滑动(DEMO只演示A-B-C-B,下同) 模拟动画效果见下图(上),滑动分解见下图(下): DEMO地址:http://nirvana.sinaapp.com/demo_slider/s ...