<自动化测试>之

时间:2022-01-07 11:35:01
搜罗了一些查找元素的除标准语句外,另外的语句使用方法,摘自 开源中国 郝云鹏
driver = webdriver.Chrome();
打开测试页面
driver.get( "http://baidu.com" );
---------------页面元素定位(页面元素)--------------
通过ID进行定位
<div id="coolestWidgetEvah">...</div> #页面代码
--->
element = driver.find_element_by_id("coolestWidgetEvah")

from selenium.webdriver.common.by import By
element = driver.find_element(by=By.ID, value="coolestWidgetEvah")#个人认为第二种比较麻烦! 通过Class Name定位
<div class="cheese"><span>Cheddar</span></div><div class="cheese"><span>Gouda</span></div>#页面代码
--->
cheeses = driver.find_elements_by_class_name("cheese")
或者
from selenium.webdriver.common.by import By
cheeses = driver.find_elements(By.CLASS_NAME, "cheese") 通过Tag Name定位
<iframe src="..."></iframe>#页面代码
--->
frame = driver.find_element_by_tag_name("iframe")
或者
from selenium.webdriver.common.by import By
frame = driver.find_element(By.TAG_NAME, "iframe") 通过Name定位
<input name="cheese" type="text"/>#页面代码
--->
cheese = driver.find_element_by_name("cheese")
或者
from selenium.webdriver.common.by import By
cheese = driver.find_element(By.NAME, "cheese") 通过Partial Link Text(局部链接文本)定位
<a href="http://www.google.com/search?q=cheese">search for cheese</a>>#页面代码
--->
cheese = driver.find_element_by_partial_link_text("cheese")
或者
from selenium.webdriver.common.by import By
cheese = driver.find_element(By.PARTIAL_LINK_TEXT, "cheese") 通过CSS定位
<div id="food"><span class="dairy">milk</span><span class="dairy aged">cheese</span></div>#页面代码
--->
cheese = driver.find_element_by_css_selector("#food span.dairy.aged")或者from selenium.webdriver.common.by import By
cheese = driver.find_element(By.CSS_SELECTOR, "#food span.dairy.aged")
#不建议使用此方法 因为在官网上提示 不通的浏览器中可能会导致显示不同的css样式
以上为基本的定位 还有一种xpath定位 下次再说.
-------------原文为selenium官方文档----------------
 

<自动化测试>之<selenium API 查找元素操作底层方法>的更多相关文章

  1. 类 java&period;util&period;Collections 提供了对Set、List、Map进行排序、填充、查找元素的辅助方法。

      类 java.util.Collections 提供了对Set.List.Map进行排序.填充.查找元素的辅助方法. 1. void sort(List) //对List容器内的元素排序,排序的规 ...

  2. selenide 自动化测试进阶一: 查找元素和相关操作

    基础环境配置和举例请移步:https://www.cnblogs.com/davice/p/9298742.html 提到自动化有些测试同学就会问,我会使用工具录制做自动化,我会用工具或插件识别元素. ...

  3. Selenium 2自动化测试实战9(简单元素操作)

    一.简单元素操作 1. webdriver中常用的几个方法: clear():清除文本 send_keys(*value):模拟按键输入 click():单击元素 clear()方法用于清除文本输入框 ...

  4. C&plus;&plus; 关联容器之map插入相同键元素与查找元素操作

    一.插入相同键元素操作 (1)insert方法 在map中的键必须是唯一的,当想map中连续插入键相同但值不同的元素时,编译和运行时都不会发生任何错误,系统会忽略后面的对已存在的键的插入操作,如 ma ...

  5. selenium中的元素操作之下拉列表操作(四)

    下拉列表操作中分为两种:select.非select 1.非select的下拉框操作 非select下拉列表操作与网页元素操作一致,找到元素,定位元素,设置等待,点击元素等等 接下来操作百度的设置按钮 ...

  6. Selenium webdriver Java 元素操作

    本来这些东西网上一搜一大堆,但是本着收集的精神,整理一份放着吧!哈!哈!哈! 1. 输入框(text field or textarea) WebElement element = driver.fi ...

  7. &lt&semi;自动化测试&gt&semi;之&lt&semi;selenium API 用法2&gt&semi;

    不知道之前的selenium API 用法1,有没有去练习, 个人认为线性代码还是要靠敲的, 后面的模块化除了多敲还需要一定的编程思想去理解, 今天下午不是很忙就给来这儿补充点selenium api ...

  8. selenium中的元素操作之三大切换(二)

    一.窗口切换 使用方法: 1.获取到打开的所有的窗口,句柄handles all_handles = driver.window_handles print(all_handles) 2.获取当前的窗 ...

  9. selenium中的元素操作之三大等待(一)

    等待时做什么,为什么使用等待 在做自动化测试,设计测试用例的时候,有时下一步的操作会依赖上一步的结果或者内容,上一步操作成功之后才能进行下一步操作等,这时候,我们就需要使用等待,来判断上一步操作是否完 ...

随机推荐

  1. angularjs之Restangular用法

    参考资料: angularjs 获取服务端口数据的方法(三种) 学习-[前端]-angularjs基本框架以及向服务器发送请求的方法 Restangular on Angular

  2. ERROR 1872 &lpar;HY000&rpar;&colon; Slave failed to initialize relay log info structure from the repository

    salve复制线程停止,尝试start slave 时报ERROR 1872错误mysql> system perror 1872 MySQL error code 1872 (ER_SLAVE ...

  3. java作业——整数相加

    设计思路:由于命令行参数都是字符串,所以解决问题的关键在于字符串和整数之间的转化.首先定义数组,让所要相加的数组成一个数组,然后实现数组的字符串转化为整数,最后相加输出就行了. 程序流程图: 源代码: ...

  4. UVa 1153 Keep the Customer Satisfied 【贪心 优先队列】

    题意:给出n个工作,已知每个工作需要的时间last,以及截止时间end,(必须在截止时间之前完成)问最多能够完成多少个工作 首先预处理,将这n件任务按照截止时间从小到大排序 然后用一个cur记录当前做 ...

  5. &lbrack;string&rsqb;Reverse Words in a String

    Given an input string, reverse the string word by word. For example,Given s = "the sky is blue& ...

  6. 如何搭建基于C&num;和 Appium 的 Android自动测试环境

    本文由葡萄城技术团队于博客园原创并首发 转载请注明出处:葡萄城官网,葡萄城为开发者提供专业的开发工具.解决方案和服务,赋能开发者. 如果想做手机端的自动化测试,Appium是首选的测试框架,因为网上使 ...

  7. html5 contenteditable 实现table可编辑(网页版EXCEL)

    一直想找一个免费的网页版的EXCEL插件,以便于多人共同在线编辑,始终没发现合适的. 其实自己实现类似功能也不难.参考:https://blog.csdn.net/chadcao/article/de ...

  8. Unreal Engine 4 C&plus;&plus; UCLASS构造函数易出错分析

    Unreal Engine 4 C UCLASS构造函数易出错分析 GENERATED_BODY GENERATED_UCLASS_BODY 在Unreal Engine 4的任意类中通常会见到两个宏 ...

  9. 一般删除网页数据和jquery下使用Ajax删除数据的区别

    1. 一般删除网页数据 就是指用户在点击删除的时候,会跳转到DeleteUser.ashx一般处理程序中,并且通过get传参的方式传递一个id的参数,然后在后台处理 <a href='Delet ...

  10. 封装一个统一返回json结果类JsonResult

    import java.io.Serializable; public class JsonResult implements Serializable{ private static final l ...