Selenium新玩法AutoClick

介绍

在selenium的基础上进行了封装,使用更加便捷,并且持续更新中,突出亮点为:

采用链式调用,即autoclick.select().click()或者autoclick.select().send_key(value),使调用非常方便。

默认采用了隐式等待,在selenium隐式等待的基础上进行了封装,可根据自己的要求配置隐式等待时间或者使用默认等待时间。

可选择等待超时后的行为:抛出异常还是继续执行,此功能在网络延迟,页面元素不能及时加载时显得尤为重要。

目前封装的功能包括:

打开页面

初始化浏览器

退出并关闭窗口

关闭当前窗口

切换标签页

刷新

前进

后退

选择

点击

输入

截图

执行javascript脚本

使用方法(autoclick)

引入autoclick.py

from autoclick import AutoClick

使用默认配置初始化AutoClick

autoclick = AutoClick()

打开页面

autoclick.open(target_page)

选择元素

autoclick.select(by,value)

by: selenium 的默认查找方式,即find_element()的参数 value:方式所对应的值

点击 点击最近一次选择的元素

autoclick.click(jump=True)

jump:页面是否跳转 此参数作用为,如果页面跳转会自动调用autoclick.switch_window()来选择最新的窗口句柄,提高效率

点击还可以链式调用:

autoclick.select(by,value).click()

在选择后执行点击,通过链式调用提高开发效率

输入 输入与点击使用方法类似

autoclick.select(by,value).send_key(value)

执行javascript脚本

autoclick.execute(js)

刷新

autoclick.refresh()

后退

autoclick.back()

前进

autoclick.forword()

切换窗口句柄

autoclick.switch(index=0)

默认切换至最新窗口句柄,可根据需要传入index参数,最新为-1,以此类推

关闭窗口(程序不退出)

autoclick.close()

退出程序

autoclick.quit()

使用方法(autoclickjs)

autoclickjs是继承了autoclick,其主要功能是使用JS命令来执行命令,亮点是健壮性强,如果元素还未加载完,会继续尝试等待元素加载后执行命令,这尤其在执行点击和输入命令时显得尤为重要和便捷

调用例子

from autoclickjs import AutuClickJS

auto = AutuClickJS()

auto.open('https://www.xuexi.cn/')

auto.click_by_classname('text-ellipsi',1)

很简单,别的不用管,不用担心未找到元素报错程序终止,因为它会等待元素加载,继续尝试执行命令。 因为click_by_classname是通过执行document.getElementsByClassName() ,所以click_by_classname()第二个参数便是数组下标。

©著作权归作者所有,转载或内容合作请联系作者
平台声明:文章内容(如有图片或视频亦包括在内)由作者上传并发布,文章内容仅代表作者本人观点,简书系信息发布平台,仅提供信息存储服务。

推荐阅读更多精彩内容