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 ...
随机推荐
- Linux(power服务器)中kettle(2)
Hadoop集群硬件环境 4台机器 ip地址 172.16.1.131 172.16.1.132 172.16.1.133 172.16.1.134 每台内存16G 8核cpu 直接使用报错:
- 有关app的一些小知识
META相关 1. 添加到主屏后的标题(IOS)<meta name="apple-mobile-web-app-title" content="标题"& ...
- G - 小晴天老师系列——可恶的墨水瓶
G - 小晴天老师系列——可恶的墨水瓶 Time Limit: 2000/1000MS (Java/Others) Memory Limit: 128000/64000KB (Java/Othe ...
- NOTE07152246 JAVA 发展及JDK配置
一.软件工程师体系: 操作系统(Windows/Linux/Unix) - 数据库系统 - 中间件(WebSphere/Tomcat) - JAVA EE 1.操作系统为用户构建了一个平台.此平台上可 ...
- Computed Observable的参数
构造计算监控(Constructing a computed observable) 1. ko.computed( evaluator [, targetObject, options] ) eva ...
- 动态得到WCF的代理类并生成代码
Uri uri = new Uri("http://localhost:6580/Service1.svc?wsdl"); MetadataExchange ...
- 在64位Win7操作系统中安装Microsoft Access Engine的解决方案
在64位Win7操作系统中安装Microsoft Access Engine的解决方案 现在的Win7系统中安装的一般都是32位的Office,因为微软推荐使用32位的Office,兼容性更强,稳定性 ...
- angularJS 系列(七)---指令
----------------------------------------------------------------------------------- 原文:https://www.s ...
- Tomcat开发技术之与HTTP服务器的集成
Tomcat最主要的功能是提供Servlet/jsp容器,尽管它也可以作为独立的Java Web服务器,它在对静态资源(如Html文件或图像文件)的处理速度,以及提供的Web服务器治理功能方面都不如其 ...
- 河南多校联合训练 南阳理工 1261 音痴又音痴的LT
描述 LT最近一直在无限循环薛之谦的歌,简直都中毒了!可是呢…他的歌LT还是不会唱(其实不止他的歌LT不会唱,所有人的歌LT都不会唱…因为LT是标准的音痴)可是LT又很喜欢唱歌(所以LT不仅是音痴还是 ...