Python中元素定位探讨
以下以阿里云(10.10.1.11)系统中考试答题为例进行了python脚本的编写研究。
模糊定位(定位一些动态值):

——————————————————————————————————————————————————————————————————————————————————
#coding=utf-8
from selenium import webdriver
#引入ActionChains类
from selenium.webdriver.common.action_chains import ActionChains
from selenium.webdriver.support.ui import Select
driver = webdriver.Firefox()
driver.get("http://10.10.1.11") #登录系统
driver.find_element_by_id("username").send_keys("d100")
driver.find_element_by_id("password").send_keys("123456")
driver.find_element_by_id("loginbtn").click() #进入考试
driver.find_element_by_class_name("myquizlist_box_btn").click()#定位“开始考试”按钮,开始进入答题阶段
#***********************************--1--********************************|简答题(往指定域中发送内容)
driver.find_element_by_class_name("editor_atto_content").send_keys("123456")
driver.find_element_by_name("next").click()
#***********************************--2--********************************|匹配题(下拉框中值的选择)
Select(driver.find_element_by_id("menuq6251:2_sub0")).select_by_value("2")
Select(driver.find_element_by_id("menuq6251:2_sub1")).select_by_value("3")
Select(driver.find_element_by_id("menuq6251:2_sub2")).select_by_value("1")
driver.find_element_by_name("next").click()
#***********************************--3--********************************|匹配题
Select(driver.find_element_by_id("menuq6251:3_sub0")).select_by_value("2")
Select(driver.find_element_by_id("menuq6251:3_sub1")).select_by_value("3")
Select(driver.find_element_by_id("menuq6251:3_sub2")).select_by_value("1")
driver.find_element_by_name("next").click()
#***********************************--4--********************************|单选题(简单勾选提交)
driver.find_element_by_id("q6251:4_answer0").click()
driver.find_element_by_name("next").click()
#***********************************--56--*******************************|多选题(同单选题)
driver.find_element_by_id("quiznavbutton56").click()
driver.find_element_by_id("q6251:56_choice1").click()
driver.find_element_by_id("q6251:56_choice2").click()
driver.find_element_by_name("next").click()
# #***********************************--60--********************************|判断(同单选题)
driver.find_element_by_id("quiznavbutton60").click()
driver.find_element_by_id("q6251:60_answertrue").click()
driver.find_element_by_name("next").click()
#***********************************--提交试卷--********************************|按钮(网页及弹出窗口中按钮的定位)
driver.find_element_by_xpath("//input[@type='submit' and @value='提交所有答案并结束']").click()#网页中点击提交按钮
driver.find_element_by_xpath("//input[@type='button' and @value='提交所有答案并结束']").click()#弹出窗口中点击提交按钮
#***********************************--退出系统--******************************** #driver.quit()
Python中元素定位探讨的更多相关文章
- python selenium 元素定位(三)
上两篇的博文中介绍了python selenium的环境搭建和编写的第一个自动化测试脚本,从第二篇的例子中看出来再做UI级别的自动化测试的时候,有一个至关重要的因素,那就是元素的定位,只有从页面上找到 ...
- python selenium-webdriver 元素定位(三)
上两篇的博文中介绍了python selenium的环境搭建和编写的第一个自动化测试脚本,从第二篇的例子中看出来再做UI级别的自动化测试的时候,有一个至关重要的因素,那就是元素的定位,只有从页面上找到 ...
- Python Appium 元素定位方法简单介绍
Python Appium 元素定位 常用的八种定位方法(与selenium通用) # id定位 driver.find_element_by_id() # name定位 driver.find_ ...
- 【基础】selenium中元素定位的常用方法(三)
一.Selenium中元素定位共有八种 id name className tagName linkText partialLinkText xpath cssSelector 其中前六种都比较简单, ...
- python+selenium元素定位——8种方法
定位元素,selenium提供了8中元素定位方法: (1)find_element_by_id() :html规定,id在html中必须是唯一的,有点类似于身份证号 (2)find_element_b ...
- Selenuim+Python之元素定位总结及实例说明
网页自动化最基本的要求就是要定位到各个元素,然后才能对该元素进行各种操作(输入,点击,清除,提交等),所以笔者今天来总结下Selenuim+Python最基本的几种定位方式及实例说明,希望能帮助到大家 ...
- selenium8中元素定位方式
Selenium对网页的控制是基于各种前端元素的,在使用过程中,对于元素的定位是基础,只有准去抓取到对应元素才能进行后续的自动化控制,我在这里将对各种元素定位方式进行总结归纳一下. 这里将统一使用百度 ...
- 6.1 python+appium元素定位方式(登录app)
1.0.0 :常见的十种元素定位方式 .driver.find_element_by_id() #id定位 .driver.find_element_by_name() #name定位(已经凉 ...
- css中元素定位
在html中网页可以看成一个立体的空间,一个完整的页面是由很多个页面堆积形成的,如下图所示 CSS中Position属性有四个可选值,它们分别是:static.absolute.fixed.relat ...
随机推荐
- struts入门学习(二)
一 struts的各种视图的转发与重定向 1 struts跳转到指定的JSP页面,只需要修改配置文件 <package name="user" namespace=&quo ...
- TortoiseGit - pull 与 fetch
Git的Pull其实是fetch与Merge两个命令的合并. 平时遇到的问题是,在本地分支进行了一些修改,准备提交.但是怕提交前有其他人push了新的代码.于是想在提交前,看看远程仓库上的log.这时 ...
- chapter11_2 Lua链表与队列
链表 由于table是动态的实体,所以在Lua中实现链表是很方便的.每个节点以一个table来表示,一个“链表”只是节点table中的一个字段. 该字段包含了对其他table的引用.例如,要实现一个基 ...
- ECOS 系统查找商品详情图片存入mysql情况。
SELECT g.goods_id, g.bn,g.name,b.brand_name,g.price,g.mktprice,c.cat_name into outfile '/tmp/xxx.xls ...
- HttpServletResponse应用----生成验证码
1.1生成随机图片用作验证码 生成图片主要用到BufferedImage类 package gacl.response.study;import java.awt.Color;import java. ...
- B - 瑶瑶带你玩激光坦克
B - 瑶瑶带你玩激光坦克 Time Limit: 2000/1000MS (Java/Others) Memory Limit: 256000/128000KB (Java/Others) S ...
- TCP小结
TCP/IP协议实现了不同主机,不同操作系统之间信息交流.由4层构成,从上往下依次为: 1.应用层,包括http,ftp等协议,用于实现某一项具体的功能. 2.传输层,包括TCP和UDP,一个可靠,一 ...
- iOS开发 自定义UIAlertController的样式
引言: 关于提示框, 系统自带的提示框有时可能满足不了我们的需求, 比如一个提示框的取消按钮我需要灰色字体显示, 这时候就需要自定义提示框的样式了. 示例图 苹果自iOS8开始,就已经废弃了之前用于界 ...
- java URL编程
一.URL编程技术 URL是统一资源定位器的缩写,它是指向互联网“资源”的指针.URL表示了Internet上某个资源的地址.URL支持http,file,ftp等 多种协议.通过URL标识,可以直接 ...
- jquery_核心_(1)
1.data([key],[value]) 概述 在元素上存放或读取数据,返回jQuery对象. 当参数只有一个key的时候,为读取该jQuery对象对应DOM中存储的key对应的值,值得注意的是,如 ...