find_element_by_id()
find_element_by_name()
find_element_by_class_name()
find_element_by_tag_name()
find_element_by_link_text()
find_element_by_partial_link_text()
css
find_element_by_xpath()
find_element_by_css_selector() html
driver.set_window_size(480, 800) 设置宽高
web
driver.maximize_window() 浏览器最大化windows
driver.get(url="https://www.baidu.com")访问url浏览器
back()、forWord()后退、前进ui
close() 关闭当前页面url
quit() 退出驱动程序,关闭全部页面spa
clear()清空文本框信息htm
send_keys()文本框信息输入,也能够执行上传操做对象
click()点击
submit()提交表单,适合没有提交按钮的状况,好比敲下回车
size 元素尺寸
text 元素文本信息
get_attribute(name)获取属性值
is_displayed() 判断元素是否可见
driver.title页面title
driver.current_url当前页面url
size=driver.find_element_by_id('kw').size
#返回元素的属性值,能够是 id、name、type 或元素拥有的其它任意属性
attribute=driver.find_element_by_id("kw").get_attribute('type')
#返回元素的结果是否可见,返回结果为 True 或 False
result=driver.find_element_by_id("kw").is_displayed()
https://www.cnblogs.com/xinjing-jingxin/p/9299835.html
from selenium import webdriver
#引入 Keys 模块
from selenium.webdriver.common.keys import Keys
#输入框输入内容
driver.find_element_by_id("kw").send_keys("seleniumm")
#删除多输入的一个 m
driver.find_element_by_id("kw").send_keys(Keys.BACK_SPACE)
#输入空格键+“教程”
driver.find_element_by_id("kw").send_keys(Keys.SPACE)
driver.find_element_by_id("kw").send_keys(u"教程")
#ctrl+a 全选输入框内容
driver.find_element_by_id("kw").send_keys(Keys.CONTROL,'a')
#ctrl+x 剪切输入框内容
driver.find_element_by_id("kw").send_keys(Keys.CONTROL,'x')
#ctrl+v 粘贴内容到输入框
driver.find_element_by_id("kw").send_keys(Keys.CONTROL,'v')
#经过回车键盘来代替点击操做
driver.find_element_by_id("su").send_keys(Keys.ENTER)
import time
time.sleep(5) 强制等待5秒
隐性等待
driver.implicitly_wait(5) 隐性等待的周期是整个driver,只须要设置一次便可,每次的执行都会等待
显式等待
from selenium.webdriver.common.by import By
from selenium.webdriver.support.ui import WebDriverWait
from selenium.webdriver.support import expected_conditions as EC
elm = WebDriverWait(driver,5,1).until(EC.presence_of_element_located(By.ID,"keyword1"))
WebDriverWait(driver, timeout, poll_frequency=0.5, ignored_exceptions=None)
driver - WebDriver 的驱动程序(Ie, Firefox,Chrome 等)
timeout - 最长超时时间,默认以秒为单位
poll_frequency - 休眠时间的间隔(步长)时间,默认为 0.5 秒
ignored_exceptions - 超时后的异常信息,默认状况下抛 NoSuchElementException 异常。
switch_to_frame() 通常能够直接经过id或者name定位,也能够xpath方式先定位到iframe,再调用switch_to_frame()
……
#先经过 xpth 定位到 iframe
xf = driver.find_element_by_xpath('//*[@class="if"]')
#再将定位对象传给 switch_to_frame()方法
driver.switch_to_frame(xf)
……
driver.switch_to_default_content()
switch_to_default_content() 回到上一层表单
current_window_handle获取当前窗口句柄
windows_handles 获取打开的全部窗口句柄
switch_to_window() 切换到句柄窗口
driver.get_screenshot_as_file("D:\\error.jap")