Selenium with Python 004 - 页面元素操作
毫无疑问,首先需要导入webdriver
from selenium import webdriver
清除文本
driver.find_element_by_id('kw').clear()
文本输入
driver.find_element_by_id('kw').send_keys("selenium")
按键输入
from selenium.webdriver.common.keys import Keys
driver.find_element_by_id('kw').send_keys(Keys.ENTER) # 回车
组合按键输入
from selenium.webdriver.common.keys import Keys
driver.find_element_by_id('kw').send_keys(Keys.CONTROL, 'a') # 全选
点击元素
driver.find_element_by_id('su').click()
提交表单
driver.find_element_by_id('su').submit()
获取元素的文本
driver.find_element_by_name('tj_trnews').text
获取元素的尺寸
driver.find_element_by_name('tj_trnews').size
获取元素属性值
driver.find_element_by_id('kw').get_attribute("autocomplete")
判断元素是否用户可见
driver.find_element_by_id('kw').is_displayed()
鼠标右键
from selenium.webdriver.common.action_chains import ActionChains # 定位到要右击的元素
mask = driver.find_element_by_id('xxx')
# 鼠标右键
ActionChains(driver).context_click(mask).perform()
鼠标双击
from selenium.webdriver.common.action_chains import ActionChains # 定位到要右击的元素
mask = driver.find_element_by_id('xxx')
# 鼠标右键
ActionChains(driver).double_click(mask).perform()
鼠标拖放
from selenium.webdriver.common.action_chains import ActionChains # 定位元素的原位置
source = driver.find_element_by_name('source')
# 定位元素要移动到的目标位置
target = driver.find_element_by_name('target')
# 执行元素移动操作
ActionChains(driver).drag_and_drop(source, target).perform()
上传文件
driver.find_element_by_name("file").send_keys('D:\\upload_file.txt')
下拉框选择
<select id="city">
<option value="bj">北京</option>
<option value="gz">广州</option>
<option value="sh">上海</option>
</select>
# 先定位到下拉框
select = driver.find_element_by_id('city')
# 再点击下拉框下的选项
select.find_element_by_xpath('//option[@value="gz"]').click()
对话框alert、confirm、prompt 的处理
#定位到弹窗窗口并接受警告信息
driver.switch_to.alert.accept()
#定位到弹窗窗口获取警告文本信息
driver.switch_to.alert.text
#定位到弹窗窗口并取消警告
driver.switch_to.alert.dismiss()
# 定位到弹窗窗口并输入确认信息
driver.switch_to.alert.send_keys("xxx")
***微信扫一扫,关注“python测试开发圈”,了解更多测试教程!***
Selenium with Python 004 - 页面元素操作的更多相关文章
- Selenium with Python 003 - 页面元素定位
WebUI自动化,首先需要定位页面中待操作的元素,然后进行各种事件操作,这里我们首先介绍Selenium Python 如何定位页面元素,WebDriver 提供了一系列的方法. 定位单个页面元素(返 ...
- Python - selenium_WebDriver 页面元素操作
代码是自己写了 python WebDriver 页面操作的常用方法. from selenium import webdriver import time driver = webdriver.F ...
- Selenium系列之--04 常见元素操作总结
一.Selenium总共有八种定位方法 By.id() 通过id定位 By.name() 通过name 定位 By.xpath() 通过xpath定位 By.className() 通过clas ...
- Selenium with Python 005 - 调用js操作页面元素
WebDriver提供了execute_script()方法来执行JavaScript方法,格式如 driver.execute_script(script,*args) 执行js一般有两种场景,一是 ...
- selenium页面元素操作(简易版)
介绍一下,这是处理页面元素的基本方法,@selenium 发送文字 element.send_keys(keys_to_send) 单击 element.click() 提交表单 el ...
- java selenium (九) 常见web UI 元素操作 及API使用
本篇介绍我们如何利用selenium 来操作各种页面元素 阅读目录 链接(link) <div> <p>链接 link</p> <a href=" ...
- python - web自动化测试 - 元素操作 - 窗口切换
# -*- coding:utf-8 -*- ''' @project: web学习 @author: Jimmy @file: 元素操作-切换.py @ide: PyCharm Community ...
- selenium第三课(selenium八种定位页面元素方法)
selenium webdriver进行元素定位时,通过seleniumAPI官方介绍,获取页面元素的方式一共有以下八种方式,现按照常用→不常用的顺序分别介绍一下. 官方api地址:https://s ...
- selenium学习-拖拽页面元素
一.ActionChains包 模拟鼠标的操作要首先引入ActionChains的包 from selenium.webdriver.common.action_chains import Actio ...
随机推荐
- 容灾 RPO RTO
w https://en.wikipedia.org/wiki/Recovery_point_objective A recovery point objective, or “RPO”, is de ...
- oracle在drop表时要注意
在oracle中,比如 drop table STC_GHSLB; 系统同时自动删除的有这个表的主键.索引.trigger. 不能同时自动删除的有:sequence. 因为sequence不跟表关联, ...
- 设计4个线程,其中2个对num进行加操作,另两个对num进行减操作
/** * 设计4个线程,其中2个对num进行加操作,另两个对num进行减操作 */ public class ThreadTest { private int j; public static vo ...
- java中byte[] 和16进制字符串互转
//将byte[]转换为16进制字符串 public static String byte2hex(byte[] b) { StringBuilder hs = new StringBuilder() ...
- 安装指定版本的Ionic或Cordova(转载)
安装ionic 及 cordova npm install -g cordova ionic 更新命令 npm update -g cordova ionic 安装特定版本 npm install - ...
- python中self cls init的理解
原创文章,未经允许禁止转载! python中self cls init的理解 python中self cls init的理解
- go——安装与设置
1.下载安装 官方下载地址:https://golang.org/dl/ 备用下载地址:https://golang.google.cn/dl/ 在windows下面直接运行.msi程序文件就可以安装 ...
- pyton全栈开发从入门到放弃之数据类型与变量
一.变量 1 什么是变量之声明变量 #变量名=变量值 age=18 gender1='male' gender2='female' 2 为什么要有变量 变量作用:“变”=>变化,“量”=> ...
- vue-cli脚手架build目录中check-versions.js的配置
转载自:https://www.cnblogs.com/ye-hcj/p/7074363.html 本文介绍vue-cli脚手架build目录中check-versions.js的配置 本文件是用来检 ...
- SLF4J日志系统在项目导入时频现的问题
一.概述 近期在导入一个已有的项目时,日志系统出现了一个问题.错误信息如下: SLF4J问题 SLF4J: Failed to load class "org.slf4j.impl.Stat ...