毫无疑问,首先需要导入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测试开发圈”,了解更多测试教程!***

最新文章

  1. window route 命令
  2. 文件输出debug
  3. 企业用户选择Java多于.NET的 5个原因
  4. 实时监控mysql数据库变化
  5. 51nod-1686 第K大区间(二分+尺取法)
  6. PLSQL Developer 常用设置及快捷键
  7. c#实现几种排序方法
  8. python有序字典实现代码
  9. 关于安装PHP补装PDO与PDO_MYSQL操作
  10. (转) iOS深入学习(Block全面分析)
  11. NET Core MVC 在linux上的创建及发布
  12. Ubuntu系统下解决“YourUserName不在sudoers文件中。此事将被报告”的问题
  13. zookeeper使用和原理探究
  14. 使用 HttpClient 进行文件上传
  15. xshell 使用命令上传、下载文件
  16. (转载)Unity_3DText穿透场景物体解决
  17. Rabbit and Grass
  18. 2--Python入门--Python数据集合类型--列表
  19. Python之路,第十一篇:Python入门与基础11
  20. JavaScript(js)文件路径字符串中丢失&quot;\&quot;斜线的解决方法

热门文章

  1. 洛谷 P2331 [SCOI2005]最大子矩阵
  2. Linux network 资料链接
  3. 我的Android进阶之旅------>如何解决Android 5.0中出现的警告: Service Intent must be explicit:
  4. 解决[[NSFileManager defaultManager] contentsOfDirectoryAtPath 方法获取不到数据的bug
  5. kibana 创建饼图
  6. Django——认证系统(Day72)
  7. knockout 学习使用笔记------绑定值时赋值失败
  8. NHibernate应用开发
  9. 微信小程序组件checkbox
  10. DataNode启动不成功——java.net.BindException: Port in use: localhost:0 Caused by: java.net.BindException: Cannot assign requested address解决办法