Selenium with Python 004 - 页面元素操作
2024-08-28 17:42:02
毫无疑问,首先需要导入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测试开发圈”,了解更多测试教程!***
最新文章
- window route 命令
- 文件输出debug
- 企业用户选择Java多于.NET的 5个原因
- 实时监控mysql数据库变化
- 51nod-1686 第K大区间(二分+尺取法)
- PLSQL Developer 常用设置及快捷键
- c#实现几种排序方法
- python有序字典实现代码
- 关于安装PHP补装PDO与PDO_MYSQL操作
- (转)	iOS深入学习(Block全面分析)
- NET Core MVC 在linux上的创建及发布
- Ubuntu系统下解决“YourUserName不在sudoers文件中。此事将被报告”的问题
- zookeeper使用和原理探究
- 使用 HttpClient 进行文件上传
- xshell 使用命令上传、下载文件
- (转载)Unity_3DText穿透场景物体解决
- Rabbit and Grass
- 2--Python入门--Python数据集合类型--列表
- Python之路,第十一篇:Python入门与基础11
- JavaScript(js)文件路径字符串中丢失";\";斜线的解决方法
热门文章
- 洛谷 P2331 [SCOI2005]最大子矩阵
- Linux network 资料链接
- 我的Android进阶之旅------>如何解决Android 5.0中出现的警告: Service Intent must be explicit:
- 解决[[NSFileManager defaultManager] contentsOfDirectoryAtPath 方法获取不到数据的bug
- kibana 创建饼图
- Django——认证系统(Day72)
- knockout 学习使用笔记------绑定值时赋值失败
- NHibernate应用开发
- 微信小程序组件checkbox
- DataNode启动不成功——java.net.BindException: Port in use: localhost:0 Caused by: java.net.BindException: Cannot assign requested address解决办法