选中状态是指元素拥有输入焦点,处于选中状态的元素会有一个虚线方框,如果这个元素是个超链接,那么当按下键盘回车键就会自动打开这个链接,如果元素是可输入的控件(比如文本框),则键盘输入的字符就会出现在这个控件中。通过键盘的tab键可以在页面中各个元素间切换选中状态。而“光标移动到超链接上”是把鼠标光标移到某个超链接上,这个鼠标动作是不会改变这个元素的选中状态的,只有点击鼠标左键,这个元素才会被选中。而通常超链接点击后页面就跳转或刷新了,所以对于超链接而言,只能通过键盘来改变选中状态了。所以这是两种不同的概念。被鼠标光标指到的元素,可以是已选中的,也可以是未选中的,而且这种仅仅移动鼠标的动作不会改变元素的选中状态。
单选比较好 *** 作,先定位需要单选的某个元素,然后点击一下即可。
多选好像也比较容易,依次定位需要选择的元素,点击即可。
下拉框的 *** 作相对复杂一些,需要用到Select模块。
先导入该类
在select模块中有以下定位方法
测试页面
然后,再演示下拉框的不同选择的方式
Selenium打开一个页面之后,默认是在父页面进行 *** 作,此时如果这个页面还有子页面,想要获取子页面的节点元素信息则需要切换到子页面进行擦走,这时候switch_toframe()就来了。如果想回到父页面,用switch_toparent_frame()即可。
既然是模拟浏览器 *** 作,自然也就需要能模拟鼠标的一些 *** 作了,这里需要导入ActionChains 类。
左键
这个其实就是页面交互 *** 作中的点击click() *** 作。
右键
context_click()
在上述 *** 作中
双击
double_click()
drag_and_drop(source,target)拖拽 *** 作嘛,开始位置和结束位置需要被指定,这个常用于滑块类验证码的 *** 作之类。
selenium中的Keys()类提供了大部分的键盘 *** 作方法,通过send_keys()方法来模拟键盘上的按键。
引入Keys类
常见的键盘 *** 作
send_keys(KeysBACK_SPACE):删除键(BackSpace)
send_keys(KeysSPACE):空格键(Space)
send_keys(KeysTAB):制表键(TAB)
send_keys(KeysESCAPE):回退键(ESCAPE)
send_keys(KeysENTER):回车键(ENTER)
send_keys(KeysCONTRL,'a'):全选(Ctrl+A)
send_keys(KeysCONTRL,'c'):复制(Ctrl+C)
send_keys(KeysCONTRL,'x'):剪切(Ctrl+X)
send_keys(KeysCONTRL,'v'):粘贴(Ctrl+V)
send_keys(KeysF1):键盘F1
send_keys(KeysF12):键盘F12
实例 *** 作演示:
定位需要 *** 作的元素,然后 *** 作即可!
如果遇到使用ajax加载的网页,页面元素可能不是同时加载出来的,这个时候尝试在get方法执行完成时获取网页源代码可能并非浏览器完全加载完成的页面。所以,这种情况下需要设置延时等待一定时间,确保全部节点都加载出来。
等待有三种方式:强制等待、隐式等待和显式等待
1强制等待
直接timesleep(n)强制等待n秒,在执行get方法之后执行。
2隐式等待
implicitly_wait()设置等待时间,如果到时间有元素节点没有加载出来,就会抛出异常。
3 显式等待
设置一个等待时间和一个条件,在规定时间内,每隔一段时间查看下条件是否成立,如果成立那么程序就继续执行,否则就抛出一个超时异常。
WebDriverWait的参数说明:
WebDriverWait(driver,timeout,poll_frequency=05,ignored_exceptions=None)
driver: 浏览器驱动
timeout: 超时时间,等待的最长时间(同时要考虑隐性等待时间)
poll_frequency: 每次检测的间隔时间,默认是05秒
ignored_exceptions:超时后的异常信息,默认情况下抛出NoSuchElementException异常
until(method,message='')
method: 在等待期间,每隔一段时间调用这个传入的方法,直到返回值不是False
message: 如果超时,抛出TimeoutException,将message传入异常
until_not(method,message='')
until_not 与until相反,until是当某元素出现或什么条件成立则继续执行,until_not是当某元素消失或什么条件不成立则继续执行,参数也相同。
其他等待条件
还有一些 *** 作,比如下拉进度条,模拟javaScript,使用execute_script方法来实现。
在selenium使用过程中,还可以很方便对Cookie进行获取、添加与删除等 *** 作。
输出:
以上就是关于怎么使webdriver请求时带特定cookie全部的内容,包括:怎么使webdriver请求时带特定cookie、python uiautomator 怎么获得元素的text、软件测试面试题:WEB+网络|接口测试|性能测试|自动化测试等相关内容解答,如果想了解更多相关内容,可以关注我们,你们的支持是我们更新的动力!
欢迎分享,转载请注明来源:内存溢出
评论列表(0条)