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 ...
随机推荐
- memo用法总结
添加 mmo1.Lines.add('新加的一行');//追加一行文字 mmo1.Lines.Insert(1,'新插入一行');//在指定位置插入一行 删除 mmo1.Lines.Delete(1) ...
- UltraEdit 中的常用正则表达式
正则表达式 (UltraEdit Syntax): % 匹配行首 - 表明要搜索的字符串一定在行首. $ 匹配行尾 - 表明要搜索的字符串一定在行尾 ? 匹配除换行符外的任一单个字符. ...
- SharePoint2013基于Form(FBA)的AD认证登陆
来源于:http://www.haogongju.net/art/1964313 1. 使用SharePoint2013实现基于AD的Form认证,首先创建一个Web Application,步骤如下 ...
- 2015 Multi-University Training Contest 3
1001 Magician 线段树.根据奇偶性分成4个区间.维护子列和最大值. 想法很简单.但是并不好写. 首先初始化的时候对于不存在的点要写成-INF. 然后pushup的时候.对于每个区间要考虑四 ...
- dist-upgrade
http://www.linuxserve.com/2015/06/how-to-enable-automatic-login-on-debian.html http://www.cyberciti. ...
- JSONModel解析数据成Model
转自:http://blog.csdn.net/smking/article/details/40432287 JSONModel, Mantle 这两个开源库都是用来进行封装JSON->Mod ...
- php 验证码类
<?php class Vcode { private $width; //宽 private $height; //高 private $num; //数量 private ...
- windows socket函数详解
windows socket函数详解 近期一直用第三方库写网络编程,反倒是遗忘了网络编程最底层的知识.因而产生了整理Winsock函数库的想法.以下知识点均来源于MSDN,本人只做翻译工作.虽然很多前 ...
- angular.js——小小记事本3
app.js部分,首先是路由.这个之前讲过了,链接在这里—— http://www.cnblogs.com/thestudy/p/5661556.html var app = angular.modu ...
- jquery各版本区别
jquery版本区别: 1.3一般功能够 1.4.2一般功能够而且稳定 1.7+比较新特性 2不支持老IE 兼容的话最好选 1.x.稳定性就用1.7或者1.4,其中1.4的体积相对 ...