seleniun之常用操作小计

如果长时间不使用,有一些操作很容易忘记怎么写,此处记录常用操作及使用方法,便于快捷回忆

 

操作名

使用方法

获取当前界面URL

drive.current_url

获取当前界面标题

driver.title

获取浏览器版本号

driver.capabilities['version]

获取元素上的字

Driver.find_element_by_id(id_name).text

获取界面元素大小

Driver.find_element_by_id(id_name).siz

操作名

使用方法

刷新当前界面

driver.refresh()

浏览器的前进和后退操作

前进:driver.forward()

后退:driver.back()

浏览器的启动

driver=driver.Chrome()启动浏览器

driver.close()#关闭浏览器

driver.quit()#关闭当前窗口

driver.get(url)#打开牧网址

窗口放大

driver.maximize_window()

自定义窗口大小

Driver.get_window_size()#获取屏幕大小

Driver.get_window_size(1280,800)#设置屏幕分辨率

判断当前界面元素是否存在

def iselement():

flag=True

        try:

            element=driver.find_element_by_xpath(element)

            return flag       

        except:

            flag=False

            return flag

#如果存在返回True,如果不存在返回False

全选文字

import selenium.webdriver.common.keys import kers

element.send_keys(keys.CONTROL+’a’)# 用send_keys()方法输入组合键

退格键删除文字

element.send_keys(Keys.CONTROL+'a') element.send_keys(Keys.BACKSPACE)

多窗口切换

步骤:获取当前界面A的句柄,获取全部句柄,如果当前和A句柄不一样,切换句柄

Current_handle=driver.current_window_handle

All_handles=driver.window_handles

For i in all_handles:

If i!==current_handle:

    Driver.switch_to.window(i)

处理iframe切换

Switsh_to_iframe(element)#element为iframe的元素定位

switch_to_window() #回到window界面

处理alert弹框

 driver.switch_to_alert().text #获取警告框的text消息
 driver.switch_to_alert().accept() #接受消息框(确定)
driver.switch_to_alert().dismiss() # 取消

driver.switch_to_alert().send_keys(“hello”) #输入值

截图保存,识别验证码

import pytesseract
from PIL import Image,ImageEnhance

driver.save_screenshot(fileName)#j截取当前界面的图保存

imgSize = Element.size   #获取某元素图片的大小

imgLocation = Element.location #获取验证码元素坐标

rangle = (int(imgLocation['x']),int(imgLocation['y']),int(imgLocation['x'] + imgSize['width']),int(imgLocation['y']+imgSize['height']))  #计算验证码整体坐标

login = Image.open(fileName)  #打开图片

frame4=login.crop(rangle)   #截取图片上某元素的图片

frame4.save(realFileName)#保存某元素截图

authcodeImg = Image.open(realFileName)#打开某元素截图

authCodeText = pytesseract.image_to_string(authcodeImg).strip()#识别验证码

    return authCodeText#返回验证码文本

  • 0
    点赞
  • 3
    收藏
    觉得还不错? 一键收藏
  • 0
    评论
评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包
实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值