python无法使用click方法的替换方法
在python使用selenium作自动登陆某银行网站时,发现click方法无法使用。
如果使用了click,该网站登陆后,无法访问其他菜单。
我不知道他是如何监测到的,上网查了一下相关资料。
替换方法如下:
pageUtil.getElementByXPath(tokenImg, pageObj).send_keys(Keys.ENTER)
意思是对着webelement控件,作回车操作
用python怎么做模拟鼠标点击比较好
importwin32api
importwin32gui
importwin32con
importtime
importctypes
defclick1(x,y):#第一种
win32api.SetCursorPos((x,y))
win32api.mouse_event(win32con.MOUSEEVENTF_LEFTDOWN,x,y,0,0)
win32api.mouse_event(win32con.MOUSEEVENTF_LEFTUP,x,y,0,0)
defclick2(x,y):#第二种
ctypes.windll.user32.SetCursorPos(x,y)
ctypes.windll.user32.mouse_event(2,0,0,0,0)
ctypes.windll.user32.mouse_event(4,0,0,0,0)
defclick_it(pos):#第三种
handle=win32gui.WindowFromPoint(pos)
client_pos=win32gui.ScreenToClient(handle,pos)
tmp=win32api.MAKELONG(client_pos[0],client_pos[1])
win32gui.SendMessage(handle,win32con.WM_ACTIVATE,win32con.WA_ACTIVE,0)
win32gui.SendMessage(handle,win32con.WM_LBUTTONDOWN,win32con.MK_LBUTTON,tmp)
win32gui.SendMessage(handle,win32con.WM_LBUTTONUP,win32con.MK_LBUTTON,tmp)
python有哪些库
Arrow
Python中处理时间的库有datetime,但是它过于简单,使用起来不够方便和智能,而Arrow可以说非常的方便和智能。它可以轻松地定位几个小时之前的时间,可以轻松转换时区时间,对于一个小时前,2个小时之内这样人性化的信息也能够准确解读。
Behold
调试程序是每个程序员必备的技能,对于脚本语言,很多人习惯于使用print进行调试,然而对于大项目来说,print的功能还远远不足,我们希望有一个可以轻松使用,调试方便,对变量监视完整,格式已于查看的工具,而behold就是那个非常好用的调试库。
Click
现在几乎所有的框架都有自己的命令行脚手架,python也不例外,那么如何快速开发出属于自己的命令行程序呢?答案就是使用python的click库。click库对命令行api进行了大量封装,你可以轻松开发出属于自己的CLI命令集。终端的颜色,环境变量信息,通过click都可以轻松进行获取和改变。
Numba
如果你从事数学方面的分析和计算,那么Numba一定是你必不可少的库。NumPy通过将高速C库包装在Python接口中来工作,而Cython使用可选的类型将Python编译为C以提高性能。但是Numba无疑是最方便的,因为它允许使用装饰器选择性地加速Python函数。
Matlibplot
做过数据分析,数据可视化的数学学生一定知道matlab这个软件,这是一个收费的数学商用软件,在Python中,Matlibplot就是为了实现这个软件中功能开发的第三方Python库。并且它完全是免费的,很多学校都是用它来进行数学教学和研究的。
Pillow
图像处理是任何时候我们都需要关注的问题,平时我们看到很多PS中的神技,比如调整画面颜色,饱和度,调整图像尺寸,裁剪图像等等,这些其实都可以通过Python简单完成,而其中我们需要使用的库就是Pillow。
pyqt5
Python是可以开发图形界面程序的。而pyqt就是一款非常好用的第三方GUI库,有了它,你可以轻松开发出跨平台的图形应用程序,其中qtdesigner设计器,更是加速了我们开发图形界面的速度。
Scrapy
Python被很多人知道都是因为它的爬虫功能,而Python中说到爬虫框架,人们公认最好的就Scrapy没有之一。Scrapy可以说专门为爬虫而生,它的设计思想,还有他的简洁性,可以说至少再过几年,也没有能超过它的。
除了以上内容,比较常见的Python库还包括Splinter、Pygame、PyInstaller、Openpyxl等,Python的库多到你一身都学不完。
python click库的详解哪里有
Click 是一个方便制作命令行工具的 Python 库
这里简单罗列两个基本用法
pythonclick模块 python中click用法
# test1.py
"""
$ test1.py --text abc -n 2
abc
abc
$ test1.py
nothing
"""
import click
@click.option('--text', default="nothing", help='text to echo')
@click.option('-n', '--count', default=1, help='repeat')
def echo(text, count):
for _ in range(count):
click.echo(text)
if __name__ == "__main__":
echo()
注意,这里的 echo 被彻底被 click 改写了,没有参数,也不能复用
多个子命令的情况用 Group
# test2.py
"""
$ test2.py list
0
1
2
3
$ test2.py rand
2
"""
import click
import random
numbers = [0, 1, 2, 3]
def lst():
for i in numbers:
click.echo(i)
def rand():
click.echo(random.choice(numbers))
@click.group()
def manager():
pass
manager.add_command(lst)
manager.add_command(rand)
if __name__ == "__main__":
manager()
python3+selenium自动化测试-js解决click失效问题21
(21)js解决click失效问题
有时候元素明明已经找到了,运行也没报错,点击后页面没任何反应。
第一种解决办法:先点击它的父元素一次,然后再点击这个元素;
第二种解决方法:用js直接执行点击事件。
from selenium import webdriver
from import ActionChains # 模拟鼠标操作
from selenium.webdriver.support.select import Select # 下拉框需要引入
import time
driver = webdriver.Chrome()
url = " "
driver.get(url)
time.sleep(3)
mouse = driver.find_element("link text", "设置")
ActionChains(driver).move_to_element(mouse).perform()
time.sleep(3)
driver.find_element("link text", "搜索设置").click()
time.sleep(3)
s = driver.find_element("id", "nr")
Select(s).select_by_visible_text("每页显示50条")
js = 'document.getElementsByClassName("prefpanelgo")[0].click();'
driver.execute_script(js)
python+selenium鼠标click不生效解决方案
【二】execute_script 执行js第一种方式
但是发现好像还是不大行,报错:
Message: javascript error: Cannot read property '3' of undefined
【三】execute_script 执行js第二种方式
完美解决, arguments 不能写成argument ,需要注意
如何用python模拟点击onclick
安装PyUserInput可以轻松实现模拟鼠标点击,安装方法:
apt-get install python-pip
pip install pymouse
pythonclick模块 python中click用法
使用举例:
from pymouse import PyMouse
m = PyMouse()
m.position() #获取当前的鼠标坐标
m.move(x,y)
pythonclick模块 python中click用法
m.click(x,y) #模拟点击
m.press(x,y) #按下鼠标
m.release(x,y) #释放鼠标