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 ...
随机推荐
- mysql的字符串处理函数
一.简明总结ASCII(char) 返回字符的ASCII码值BIT_LENGTH(str) 返回字符串的比特长度CONCAT(s1,s2…,sn) 将s1,s2…,sn连接成字符串CONCAT_WS( ...
- 杭电三部曲一、基本算法;19题 Cow Bowling
Problem Description The cows don't use actual bowling balls when they go bowling. They each take a n ...
- pumping lemma for finite regular language?
some books describe pumping lemma as this: Let L be a regular language. Then there exists an integer ...
- NYOJ-1036 非洲小孩(贪心)
非洲小孩 时间限制:1000 ms | 内存限制:65535 KB 难度:2 描述 家住非洲的小孩,都很黑.为什么呢?第一,他们地处热带,太阳辐射严重.第二,他们不经常洗澡.(常年缺水,怎么洗 ...
- VBS基础篇 - 循环语句(4) - For Each...Next
VBS基础篇 - 循环语句(4) - For Each...Next For Each...Next 循环与 For...Next 循环类似.For Each...Next 不是将语句运行指定的次 ...
- Chapter 1 First Sight——28
"Which one is the boy with the reddish brown hair?" 那个红褐色头发的男孩是谁? I asked. I peeked at him ...
- 在线协作沟通工具DesignBoard帮助设计团队更有效地进行沟通与版本管理
设计稿呈现缺乏整体性.远程沟通效率低.多版本管理混乱,这可能是很多创业团队都面临的问题,并且这些问题都将直接影响到产品开发进度.国内创业团队彩程设计也曾面临同样的问题,后来他们在做某个新项目时尝试把设 ...
- JavaScript在智能手机上的应用-通过滑动修改网页字体大小
---------------------------------- <script type="text/javascript"> //变量x, ...
- debian上安装lua编辑器
Debian服务器上安装lua 1)下载压缩包 wget http://www.lua.org/ftp/lua-5.1.4.tar.gz 2)解压文件 tar zxvf lua-5.1.4.tar. ...
- hdu 1425 sort
Problem Description 给你n个整数,请按从大到小的顺序输出其中前m大的数. Input 每组测试数据有两行,第一行有两个数n,m(0<n,m<1000000),第二行 ...