python模拟用户点击,如何用Python实现网页按钮的自动点击

1 , 如何用Python实现网页按钮的自动点击用python的sendkeys直接模拟键盘,用ctype扩展来点鼠标 。你需要做的就是用python打开浏览器,然后输入网站,在找到按钮的坐标(固定到程序里) , 然后点击就行了 。不过简单的可以,复杂点的就要考虑很多问题了 。看起来大家都是从代码的角度来思考呀,不妨从“界面”来思考有个神奇的基于python的script,sikuli,“上帝之眼” 。直接上程序截图吧,你一看就懂 。程序识别系统截图中的ui,纯模仿用户输入/点击,连输入频率都非常合理 。防机器人算法的宿敌,qa的好基友 。我当年就是用这个做到不被豆瓣发现是机器人的情况下 , 把自己的旧账号里面记录的1000+书影音记录拖进新号的 。【python模拟用户点击,如何用Python实现网页按钮的自动点击】
2,如何用python模拟点击onclick安装PyUserInput可以轻松实现模拟鼠标点击 , 安装方法:apt-get install python-pippip install pymouse使用举例:from pymouse import PyMousem = PyMouse()m.position() #获取当前的鼠标坐标m.move(x,y)m.click(x,y) #模拟点击m.press(x,y) #按下鼠标m.release(x,y) #释放鼠标
3 , python怎么模拟网页next点击操作一种方法是通过urllib2,beautifulsoup等库解析网页获取next元素里面的url,直接跳转url , 另外一种方法是selenium直接锁定next元素执行.click()操作,一种比较省时,一种比较省力,自行选择首页,我们先理解网页点击的本质:其实,站在数据底层理解,我们对网页的操作可以抽象成向服务器发送数据 。这样看来,我们有两种方法使用python模拟网页按钮点击:方法一:间接模拟 。模拟向服务器发送数据 。可以用抓包工具,看点击按钮时到底向服务器发送的是什么数据,然后使用python模拟发送的数据 。方法二:真实模拟 。可以先找到按钮 , 然后执行点击 。这个有现成的库,selenium 。
4,新手求助python如何模拟网页按钮点击先在命令行中下载一个selenium库:1python -m pip install selenium然后使用selenium中的webdriver来进行模拟网页点击:123456789from selenium import webdriverfrom selenium.common.exceptions import TimeoutExceptionfrom selenium.webdriver.chrome.options import Optionsfrom selenium.webdriver.support.ui import Selectfrom selenium.webdriver.support.ui import WebDriverWait sel=webdriver.Chrome() #也可换成Ie() , Firefox()等element=sel.find_element() #在网页源码中查找元素,具体可参考http://www.aichengxu.com/python/11949.htmelement.click() #模拟对元素进行点击如果你是Chrome用户,需要手动下载一个chromedriver.exe,这里附上 , 把它放入系统Path路径任意一个文件夹中即可很抱歉 , 回答者上传的附件已失效5,python如何模拟点击这样的网址链接你的意思是:网页中,鼠标点击对应的链接你要在python中模拟出来?如果是:你的目的是啥?要获得对应的html代码?还是其他?如果是要获得html代码 , 则可以参考:如何用Python,C#等语言去实现抓取静态网页 模拟登陆网站(此处不给贴地址,请自己用google搜标题,即可找到帖子地址)如果是模拟操作:对于python来说,你这里的html,就是个普通字符串没法模拟鼠标点击 。当然,如果你本身是要去模拟浏览器,那么就是另外一回事了 。除非你说出你的本意,别人帮你想办法实现 。否则,你都没说清楚你的意思,别人没法帮你 。import win32com.client# Prepare Internet Explorerie = win32com.client.Dispatch( "InternetExplorer.Application.1" )URL = "zhuanli.htm"Flags = 0TargetFrame = ""Data = "http://www.lisdn.com/sjfx/mzjy/专利查询"PostData = http://www.lisdn.com/sjfx/mzjy/buffer( Data )Headers ="Content-Type: application/x-www-form-urlencoded\r\n"# show it to the userie.Visible = Trueie.Navigate( URL, Flags, TargetFrame, PostData, Headers )6,Python3怎么模拟鼠标点击import win32api,win32condef click(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)(x,y)是你需要点击的位置 , 屏幕左上角为(0,0)import win32apiimport win32guiimport win32conimport timeimport ctypesdef click1(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)def click2(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)def click_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)

    推荐阅读