selenium的经常使用方法

一、经常使用定位方法

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

#返回元素的属性值,能够是 idnametype 或元素拥有的其它任意属性
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 的驱动程序(IeFirefoxChrome 等)
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")

相关文章
相关标签/搜索