Selenium的api
来源:互联网 发布:微博十大网络主播投票 编辑:程序博客网 时间:2024/05/22 03:52
1.浏览器操作
from selenium import webdriver #调用webdriver模块
driver=webdriver.Firefox() #实例化火狐浏览器类
driver.get("http://www.baidu.com") #浏览器输入百度网址
driver.quit() #关闭并退出浏览器
driver.close() #退出当前窗口
driver.implicitly_wait(3) #智能等待(上一步完全完成后,自动结束等待,参数为最大等待时间)
driver.maximize_window() #浏览器最大化
driver.set_window_size(400,480) #设置浏览器尺寸(默认为当前句柄)
driver.back() #返回到前一个网页
driver.forward() #前进一个网页
2.元素定位
driver.find_element_by_id() #通过id定位元素
driver.find_element_by_name() #通过name定位元素
driver.find_element_by_class_name() #通过class_name定位元素
driver.find_element_by_xpath() #通过路径(可以为绝对路径或者相对路径)定位元素
driver.find_element_by_link_text() #通过文字链接定位元素
driver.find_element_by_partial_link_text() #通过部分文字链接定位元素
driver.find_element_by_tag_name() #通过标签定位元素
driver.title #获取当前网页的标题
driver.find_elements_by_xx("") #获取一组元素
2.用户行为
driver.find_element_by_id("").clear() #清除输入框的默认内容
driver.find_element_by_id("").click() #点击操作
driver.find_element_by_id("").text #获取元素的文本信息
driver.find_element_by_id("").size #获取元素的宽高
driver.find_element_by_id("").get_attribute('name') #获取元素的name属性
driver.find_element_by_id("").is_displayed() #返回True或False 返回元素的结果是否可见
3.鼠标和键盘事件
#引入ActionChains 类
from selenium.webdriver.common.action_chains import ActionChains
#定位到要右击的元素
right =driver.find_element_by_xpath("xx")
#对定位到的元素执行鼠标右键操作
ActionChains(driver).context_click(right).perform() perform()为执行操作
ActionChains 类鼠标操作的常用方法:
context_click() 右击
double_click() 双击
drag_and_drop() 拖动
move_to_element() 鼠标悬停在一个元素上
click_and_hold() 按下鼠标左键在一个元素上
context_click() 右键点击一个元素。
double_click(on_element) 双击一个元素
drag_and_drop(source,target)
在源元素上按下鼠标左键,然后移动到目标元素上释放。
source: 鼠标按下的源元素。
target: 鼠标释放的目标元素。
move_to_element() 模拟鼠标移动到一个元素上。
在使用键盘按键方法前需要先导入keys 类包。
from selenium.webdriver.common.keys import Keys
下面经常使用到的键盘操作:
send_keys(Keys.BACK_SPACE) 删除键(BackSpace)
send_keys(Keys.SPACE) 空格键(Space)
send_keys(Keys.TAB) 制表键(Tab)
send_keys(Keys.ESCAPE) 回退键(Esc)
send_keys(Keys.ENTER) 回车键(Enter)
send_keys(Keys.CONTROL,'a') 全选(Ctrl+A)
send_keys(Keys.CONTROL,'c') 复制(Ctrl+C)
send_keys(Keys.CONTROL,'x') 剪切(Ctrl+X)
send_keys(Keys.CONTROL,'v') 粘贴(Ctrl+V)
4.now_url =driver.current_url #获得前面URL
5.设置等待事件
WebDriverWait()。在设置时间内,默认每隔一段时间检测一次当前页面元素是否存在,如果超过设置时间检测不到则抛出异常。
详细格式如下:
WebDriverWait(driver,timeout, poll_frequency=0.5, ignored_exceptions=None)
driver - WebDriver 的驱动程序(Ie, Firefox, Chrome 或远程)
timeout - 最长超时时间,默认以秒为单位
poll_frequency - 休眠时间的间隔(步长)时间,默认为0.5 秒
ignored_exceptions- 超时后的异常信息,默认情况下抛NoSuchElementException 异常
#WebDriverWait()方法使用
element=WebDriverWait(driver,10).until(lambda drivdriver.find_element_by_id("kw"))
element.send_keys("selenium")
WebDriverWai()一般由unit()或until_not()方法配合使用,下面是unit()和until_not()方法的说明。
until(method, message=’ ’)
调用该方法提供的驱动程序作为一个参数,直到返回值不为False。
until_not(method, message=’ ’)
调用该方法提供的驱动程序作为一个参数,直到返回值为False
1. 多窗口处理
nowhandle=driver.current_window_handle #获得当前窗口
allhandles=driver.window_handles
forhandle in allhandles: #循环判断窗口是否为当前窗口
if handle!= nowhandle:
driver.switch_to_window(handle)
2. alert框处理
#接受警告信息
driver.switch_to_alert().dismiss() #点击取消
driver.switch_to_alert().accept() #点击确定
driver.switch_to_alert().text #得到文本信息
driver.switch_to_alert().send_keys(””) #像alert框发送信息
3. 调用js
Driver.execute_script(“document.getElementById(“元素”).setAttribute(‘属性’,’属性值’)”)
调用js修改元素的属性值- Selenium的API介绍
- selenium的API
- Selenium的api
- Selenium api
- Selenium API
- Selenium API
- Selenium API
- Selenium api
- selenium api
- 如何查看python selenium的api
- 如何查看python selenium的api
- 如何查看python selenium的api
- 如何查看python selenium的api
- 如何查看python selenium的api
- 如何查看python selenium的api
- selenium添加phantomjs的js API接口
- Selenium 中文API
- Selenium API说明文档
- 服务器日常初始化的脚本
- 基于Opencv的人脸识别
- 创建模板
- linux命令初学
- 4. x86常见指令解析
- Selenium的api
- H5证件识别API/接口
- swift
- HTTP接口测试工具及使用
- Libevent源码分析
- 详解为什么32位系统只能用4G内存
- Mac上安装php56-mongo扩展
- python的flask解决xss攻击漏洞
- cocos2dx 从节点中获取图片对象