毫无疑问,首先需要导入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 - 页面元素操作的更多相关文章

  1. Selenium with Python 003 - 页面元素定位

    WebUI自动化,首先需要定位页面中待操作的元素,然后进行各种事件操作,这里我们首先介绍Selenium Python 如何定位页面元素,WebDriver 提供了一系列的方法. 定位单个页面元素(返 ...

  2. Python - selenium_WebDriver 页面元素操作

    代码是自己写了 python WebDriver  页面操作的常用方法. from selenium import webdriver import time driver = webdriver.F ...

  3. Selenium系列之--04 常见元素操作总结

    一.Selenium总共有八种定位方法  By.id()  通过id定位 By.name()  通过name 定位 By.xpath() 通过xpath定位 By.className() 通过clas ...

  4. Selenium with Python 005 - 调用js操作页面元素

    WebDriver提供了execute_script()方法来执行JavaScript方法,格式如 driver.execute_script(script,*args) 执行js一般有两种场景,一是 ...

  5. selenium页面元素操作(简易版)

    介绍一下,这是处理页面元素的基本方法,@selenium 发送文字    element.send_keys(keys_to_send) 单击    element.click() 提交表单   el ...

  6. java selenium (九) 常见web UI 元素操作 及API使用

    本篇介绍我们如何利用selenium 来操作各种页面元素 阅读目录  链接(link) <div> <p>链接 link</p> <a href=" ...

  7. python - web自动化测试 - 元素操作 - 窗口切换

    # -*- coding:utf-8 -*- ''' @project: web学习 @author: Jimmy @file: 元素操作-切换.py @ide: PyCharm Community ...

  8. selenium第三课(selenium八种定位页面元素方法)

    selenium webdriver进行元素定位时,通过seleniumAPI官方介绍,获取页面元素的方式一共有以下八种方式,现按照常用→不常用的顺序分别介绍一下. 官方api地址:https://s ...

  9. selenium学习-拖拽页面元素

    一.ActionChains包 模拟鼠标的操作要首先引入ActionChains的包 from selenium.webdriver.common.action_chains import Actio ...

随机推荐

  1. Activity # runOnUiThread 与 View # post

    There is no real difference, except that the View.post is helpful when you don't have a direct acces ...

  2. always on 之路实践(未完)

    概念及参考:http://www.mssqlmct.cn/dba/?post=97 准备:利用vmvare workstation12 克隆了4台windows server 2008 datacen ...

  3. java 多线程 day06 threadLocal

    import java.util.HashMap;import java.util.Map;import java.util.Random; /** * Created by chengtao on ...

  4. PHP连接局域网MYSQL数据库的实例

    PHP连接局域网MYSQL数据库的例子. 代码:                           ?>         第一行ip对应局域网某台主机,关于局域网内mysql连接可参考我的摘抄 ...

  5. 中文Appium API 文档

    该文档是Testerhome官方翻译的源地址:https://github.com/appium/appium/tree/master/docs/cn官方网站上的:http://appium.io/s ...

  6. Django框架之ORM(数据库)操作

    一.ORM介绍 映射关系: 表名 -------------------->类名 字段-------------------->属性 表记录----------------->类实例 ...

  7. springmvc 需要用到的核心jar包

    aopbeanscontextcoreexpressionwebwebmvc

  8. Python 一行代码实现并行

    需求 给定一个list   针对list 中每个元素执行一定的操作(这个操作很费时间,例如爬数据的时候调用某个网站的接口),返回操作后的list 例如 给定 1-10个数,在每个数字后面加个字母a 方 ...

  9. CodeForces - 451E Devu and Flowers (容斥+卢卡斯)

    题意:有N个盒子,每个盒子里有fi 朵花,求从这N个盒子中取s朵花的方案数.两种方法不同当且仅当两种方案里至少有一个盒子取出的花的数目不同. 分析:对 有k个盒子取出的数目超过了其中的花朵数,那么此时 ...

  10. POJ 2253 Frogger (Dijkstra变型)

    题意:求点1到点2的路径中,权值最大的那条边,其最小值是多少. 分析:最大值最小化.可以将迪杰斯特拉模板中的松弛操作加以修改,在O(n^2)的时间内解决该问题.其中需要注意的是,dist[i]指的是: ...