以下以阿里云(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中元素定位探讨的更多相关文章

  1. python selenium 元素定位(三)

    上两篇的博文中介绍了python selenium的环境搭建和编写的第一个自动化测试脚本,从第二篇的例子中看出来再做UI级别的自动化测试的时候,有一个至关重要的因素,那就是元素的定位,只有从页面上找到 ...

  2. python selenium-webdriver 元素定位(三)

    上两篇的博文中介绍了python selenium的环境搭建和编写的第一个自动化测试脚本,从第二篇的例子中看出来再做UI级别的自动化测试的时候,有一个至关重要的因素,那就是元素的定位,只有从页面上找到 ...

  3. Python Appium 元素定位方法简单介绍

    Python  Appium  元素定位 常用的八种定位方法(与selenium通用) # id定位 driver.find_element_by_id() # name定位 driver.find_ ...

  4. 【基础】selenium中元素定位的常用方法(三)

    一.Selenium中元素定位共有八种 id name className tagName linkText partialLinkText xpath cssSelector 其中前六种都比较简单, ...

  5. python+selenium元素定位——8种方法

    定位元素,selenium提供了8中元素定位方法: (1)find_element_by_id() :html规定,id在html中必须是唯一的,有点类似于身份证号 (2)find_element_b ...

  6. Selenuim+Python之元素定位总结及实例说明

    网页自动化最基本的要求就是要定位到各个元素,然后才能对该元素进行各种操作(输入,点击,清除,提交等),所以笔者今天来总结下Selenuim+Python最基本的几种定位方式及实例说明,希望能帮助到大家 ...

  7. selenium8中元素定位方式

    Selenium对网页的控制是基于各种前端元素的,在使用过程中,对于元素的定位是基础,只有准去抓取到对应元素才能进行后续的自动化控制,我在这里将对各种元素定位方式进行总结归纳一下. 这里将统一使用百度 ...

  8. 6.1 python+appium元素定位方式(登录app)

    1.0.0     :常见的十种元素定位方式 .driver.find_element_by_id() #id定位 .driver.find_element_by_name() #name定位(已经凉 ...

  9. css中元素定位

    在html中网页可以看成一个立体的空间,一个完整的页面是由很多个页面堆积形成的,如下图所示 CSS中Position属性有四个可选值,它们分别是:static.absolute.fixed.relat ...

随机推荐

  1. struts入门学习(二)

    一  struts的各种视图的转发与重定向 1 struts跳转到指定的JSP页面,只需要修改配置文件 <package name="user" namespace=&quo ...

  2. TortoiseGit - pull 与 fetch

    Git的Pull其实是fetch与Merge两个命令的合并. 平时遇到的问题是,在本地分支进行了一些修改,准备提交.但是怕提交前有其他人push了新的代码.于是想在提交前,看看远程仓库上的log.这时 ...

  3. chapter11_2 Lua链表与队列

    链表 由于table是动态的实体,所以在Lua中实现链表是很方便的.每个节点以一个table来表示,一个“链表”只是节点table中的一个字段. 该字段包含了对其他table的引用.例如,要实现一个基 ...

  4. 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 ...

  5. HttpServletResponse应用----生成验证码

    1.1生成随机图片用作验证码 生成图片主要用到BufferedImage类 package gacl.response.study;import java.awt.Color;import java. ...

  6. B - 瑶瑶带你玩激光坦克

    B - 瑶瑶带你玩激光坦克 Time Limit: 2000/1000MS (Java/Others)    Memory Limit: 256000/128000KB (Java/Others) S ...

  7. TCP小结

    TCP/IP协议实现了不同主机,不同操作系统之间信息交流.由4层构成,从上往下依次为: 1.应用层,包括http,ftp等协议,用于实现某一项具体的功能. 2.传输层,包括TCP和UDP,一个可靠,一 ...

  8. iOS开发 自定义UIAlertController的样式

    引言: 关于提示框, 系统自带的提示框有时可能满足不了我们的需求, 比如一个提示框的取消按钮我需要灰色字体显示, 这时候就需要自定义提示框的样式了. 示例图 苹果自iOS8开始,就已经废弃了之前用于界 ...

  9. java URL编程

    一.URL编程技术 URL是统一资源定位器的缩写,它是指向互联网“资源”的指针.URL表示了Internet上某个资源的地址.URL支持http,file,ftp等 多种协议.通过URL标识,可以直接 ...

  10. jquery_核心_(1)

    1.data([key],[value]) 概述 在元素上存放或读取数据,返回jQuery对象. 当参数只有一个key的时候,为读取该jQuery对象对应DOM中存储的key对应的值,值得注意的是,如 ...