WebDriver API
Posted it-xian
tags:
篇首语:本文由小常识网(cha138.com)小编为大家整理,主要介绍了WebDriver API相关的知识,希望对你有一定的参考价值。
多表单切换 ①方法 a=driver.current_window_handle all=driver.window_handles for i in all: if i !=a: driver.switch_to.window(i) ②方法 alls=driver_window_handles driver.switch_to.window(alls[1]) 警告框处理 使用switch_to.alert方法定位到警告消息框alert/确认消息框confirm/提示消息对话prompt,然后使用text/accept/dismiss/send_keys()等方法进行操作 text 返回alert/confirm/prompt中的文字信息 accept()接受现有警告框 dismiss()解散现有警告框 send_keys(keysToSend)发送文本至警告框 例如: driver.find_element_by_xpath(‘弹出框的按钮xpath路径‘).click() a=driver.switch_to.alter a.accept() a.dismiss() a.send_keys(‘6666‘) 上传文件 Web页面的上传功能实现方式: a.普通上传:普通的附件上传是将本地文件的路径作为一个值放在input标签中,通过form表单将这个值提交给服务器 找到上传的input标签,通过send_keys()方法向其输入一个文件地址来实现上传 b.插件上传:一般是指基于flash/js/ajax等技术所实现的上传功能 AutoIt 下拉菜单 from selenium.webdriver.support.select import Select Select(driver.find_element_by_id(‘id值‘)).select_by_index(1) Select(driver.find_element_by_id(‘id值‘)).select_by_value(‘2‘) Select(driver.find_element_by_id(‘id值‘)).select_by_visible_text(‘北京‘) 封装的实现与调用 from selenium import webdriver class AutoDriver001(object) def __init__(self): self.driver=webdriver.Firefox() self.base_url=‘http://www.baidu.com‘ def max_window(self): self.driver.maiximize_window() def bro_quit(self): self.driver.quit() def open_url(self,url): self.driver.get(self.base_url+url) def find_element(self,by,selector): if by==‘id‘: return self.driver.find_element_by_id(selector) elif by==‘name‘: return self.driver.find_element_by_name(selector) .......待续以上是关于WebDriver API的主要内容,如果未能解决你的问题,请参考以下文章
webdriver.firefox.marionette 和 webdriver.gecko.driver 的区别
selenium之python源码解读-webdriver继承关系
selenium-webdriver(python) (十四) -- webdriver原理(转载虫师自动化)