python selenium--常用函数3

ActionChains类鼠标操作的常用方法:

引入ActionChains类:from selenium.webdriver.common.action_chains import ActionChains

context_click()    右击

——如:RightClick = driver.find_element_by_id("id")

ActionChains(driver).context_click(RightClick).perform()

double_click()    双击

——如:DoubleClick = driver.find_element_by_name("name")

ActionChains(driver).double_click(DoubleClick).perform()

drag_and_drop(source, target)    鼠标拖放

——source:鼠标按下的源元素;target:鼠标释放的目标元素

——如:element = driver.find_element_by_name("name")

target = driver.find_element_by_name("name")

ActionChains(driver).drag_and_drop(element, target).perform()

move_to_element()    鼠标悬停在一个元素上

——如:above = driver.find_element_by_xpath("xpath路径")

ActionChains(driver).move_to_element(above).perform()

click_and_hold()    按下鼠标左键在一个元素上

——如:left = driver.find_element_by_name("name")

ActionChains(driver).click_and_hold(left).perform()

键盘事件:

引入Keys类包:from selenium.webdriver.common.keys import Keys

send_keys()    输入框输入内容

——如:driver.find_element_by_id("id").send_keys("XXX")

send_keys(Keys.BACK_SPACE)    向左删除一个字符                                              ——如:driver.find_element_by_id("id").send_keys("XXX")

send_keys(Keys.SPACE)    输入空格

——如:driver.find_element_by_id("id").send_keys(Keys.SPACE)

send_keys(Keys.CONTROL,‘a‘)    ctrl+a 全选输入框的内容

——如:driver.find_element_by_id("id").send_keys(Keys.CONTROL,‘a‘)

send_keys(Keys.CONTROL,‘x‘)    ctrl+x 剪切输入框的内容

——如:driver.find_element_by_id("id").send_keys(Keys.CONTROL,‘x‘)

send_keys(Keys.CONTROL,‘v‘)    ctrl+v 粘贴到输入框

——如:driver.find_element_by_id("id").send_keys(Keys.CONTROL,‘v‘)

send_keys(Keys.ENTER)    回车代替点击

——如:driver.find_element_by_id("id").send_keys(Keys.ENTER)

send_keys(Keys.TAB)    制表键(Tab)

——如:driver.find_element_by_id("id").send_keys(Keys.TAB)

send_keys(Keys.ESCAPE)    回退键(Esc)

——如:driver.find_element_by_id("id").send_keys(Keys.ESCAPE)

send_keys(Keys.CONTROL,‘c‘)    复制

——如:driver.find_element_by_id("id").send_keys(Keys.CONTROL,‘c‘)

打印信息

#获得title并打印

title = driver.title

print title

#拿当前title名称进行预期比较

if title == u"百度一下,你就知道":

  print "title yes!"

else:

  print "title no!"

#获得当前URL并打印

url = driver.current_url

print url

等待时间

#导入 WebDriverWait 包
from selenium.webdriver.support.ui import WebDriverWait
#导入 time 包
import time

sleep()    设置固定等待时间

——如:time.sleep(5)  #等待5秒

implicitly_wait()    等待一个元素被发现,或一个命令完成,超出了设置时间则抛出异常

——如:driver.implicitly_wait(30)

driver.find_element_by_id("id").click()

WebDriverWait()    在设置时间内,默认每隔一段时间检测检测一次当前页面元素是否存在,如果超过设置时间检测不到则抛出异常

WebDriverWait(driver, timeout, poll_frequency=0.5, ignored_exceptions=None)

——driver:WebDriver 的驱动程序(Ie, Firefox, Chrome 或远程)

——timeout:最长超时时间,默认以秒为单位

——poll_frequency:休眠时间的间隔(步长)时间,默认为 0.5 秒

——ignored_exceptions:超时后的异常信息,默认情况下抛 NoSuchElementException 异常

——如1:element = WebDriverWait(driver, 10).until(lambda x : x.find_element_by_id("id"))

element.send_keys("selenium")

——如2:element = WebDriverWait(driver, 10).until(lambda x: x.find_element_by_id(“Id”))

is_disappeared = WebDriverWait(driver, 30, 1, (ElementNotVisibleException)).until_not(lambda x: x.find_element_by_id(“someId”).is_displayed())

WebDriverWai()一般由 unit()或 until_not()方法配合使用:

——until(method, message=’’)
      调用该方法提供的驱动程序作为一个参数,直到返回值不为 False。
——until_not(method, message=’’)
      调用该方法提供的驱动程序作为一个参数,直到返回值为 False。

定位一组对象

#选择当前页面上所有tag name为input的元素

inputs = driver.find_elements_by_tag_name(‘input‘)

#从中过滤出type为checkbox的元素,并勾选上

for input in inputs:

  if input.get_attribute(‘type‘) == ‘checkbox‘:

    input.click()

#使用CSS定位选择所有type为checkbox的元素,并勾选上

checkboxes = driver.find_elements_by_css_selector(‘input[type=checkbox]‘)

for checkbox in checkboxes:

  checkbox.click()

#把最后一个checkbox的勾去掉    pop()为空则是最后一个

driver.find_elements_by_css_selector(‘input[type=checkbox]‘).pop().click()

时间: 2024-08-03 03:59:35

python selenium--常用函数3的相关文章

python+selenium常用javascript函数

1.操作滚动条 js="var q=document.documentElement.scrollTop=10000" driver.execute_script(js) 2.移除属性:时间控件处理 # js = "$('input[id=ECTermOfTrustSart]').removeAttr('readonly')" # 2.jQuery,移除属性 # js = "$('input[id=ECTermOfTrustSart]').attr('re

『Python』常用函数实践笔记

库安装: 1).pip & conda 2).在win10下手动安装python库的方法: 『python』计算机视觉_OpenCV3库安装 原生: list.append():添加元素到list末尾 list.extend():使用一个list扩展另一个list 字典列表化:字典是有顺序的,而且list字典等于list字典的key dict = {'c':1,'b':2,'a':3} list(dict) # Out[13]: # ['c', 'b', 'a'] list(dict.keys(

python—各种常用函数及库

列表list1.append(x)         将x添加到列表末尾 list1.sort()                对列表元素排序 list1.reverse()            将列表元素逆序 list1.index(x)             返回第一次出现元素x的索引值 list1.insert(i,x)            在位置i处插入新元素x list1.count(x)                返回元素x在列表中的数量 list1.remove(x)  

Python string常用函数

2017-07-03 23:26:08 1..replace(self, old, new, count=-1) replace()函数将旧字符串替换为新字符串,最后一个参数count为可选项,表示替换最多count次(小于count). 注意这种替换返回替换后的字符串,源字符串是不改变的. s='ABCDEF' out=s.replace('EF','ef') print(s) print(out) 输出: ABCDEF ABCDef 2..find(self, sub, start=0, e

selenium2.0关于python的常用函数

转: 新建实例driver = webdriver.Chrome() 1.获取当前页面的Url函数 方法:current_url 实例: driver.current_url 2.获取元素坐标 方法:location 解释:首先查找到你要获取元素的,然后调用location方法 实例: driver.find_element_by_xpath("//*[@id='tablechart']/tbody/tr[14]/td[9]").location 3.表单的提交 方法:submit 解

python正则常用函数

compile 编译后执行速度更快,findall 返回匹配列表 >>> import re >>> r=r'a[bcd]e' >>> p=re.compile(r) >>> print p.findall('abe,ace,ade,afe') ['abe', 'ace', 'ade'] >>> print re.findall(r,'abe,ace,ade,afe') ['abe', 'ace', 'ade'] &

python 字符串常用函数有哪些?

声明变量str="Hello World"find() 检测字符串是否包含,返回该字符串位置,如果不包含返回-1str.find("Hello") # 返回值:0str.find("W") # 返回值:6, 这里需要注意下:空格也是一个字符.W前面有个空格,所以W位置是6str.find("R") # 返回值:-1,并不包含在Hello World中,如果不包含返回-1index() 检测字符串是否包含指定的字符,并返回开始的

Python:常用函数封装

def is_chinese(uchar): """判断一个unicode是否是汉字""" if uchar >= u'\u4e00' and uchar<=u'\u9fa5': return True else: return False def is_number(uchar): """判断一个unicode是否是数字""" if uchar >= u'\u0030

python图像处理常用函数

数据生成: numpy.random.randn() #正态分布 axis=0,1,2... ;0:row,1:column,2:page numpy.random()#平均分布 numpy.random.randint()#平均分布 range numpy.arange 数据整合: numpy.vstack(ay1,ay2) numpy.hstack(ay1,ay2) broadcast numpy.ones(n) numpy.zeros(n) 排序: numpy.argsort()#降值排序

selenium2中关于Python的常用函数

driver = webdriver.Chrome(chromeDriver) 1.返回当前会话中的cookies:driver.get_cookies() 2.根据cookies name查找:driver.get_cookie(cookiename) 3.截取当前页面:get_screenshot_as_file(filename),如:get_screenshot_as_file("D:\\nm.bmp") 4.获取当前窗口的坐标:driver.get_window_positi