2014-05-19 264 views
-4

我想知道如何編寫程序來點擊我還沒有創建的網頁上的按鈕。如何在python中自動點擊鼠標

我是一個敏銳的noob python,但可以在一定程度上在LB編程,所以只需要知道本地python命令是用於打開/打開網頁,然後在該頁面上定位按鈕並自動離開點擊它們。

在Python 2或3版本

+2

如果它不需要是Python並且你在Windows上,那麼對於這種事情有更簡單的工具;例如[AutoHotkey](http://www.autohotkey.com/) – MikeRixWolfe

+0

thxs會檢查這一點。在Windows 7上的即時通訊 – user3651091

+0

檢查[PyAutoGUI庫](http://pyautogui.readthedocs.io/en/latest /introduction.html)。 – kenorb

回答

1

使用webbrowser.open()打開網站:

>>> import webbrowser 
>>> webbrowser.open('www.google.com') #Opens www.google.com 
True 
>>> 

然後使用下面的代碼,請點擊:(這部作品python2.6的上OSX)

import time 
from Quartz.CoreGraphics import CGEventCreateMouseEvent 
from Quartz.CoreGraphics import CGEventPost 
from Quartz.CoreGraphics import kCGEventMouseMoved 
from Quartz.CoreGraphics import kCGEventLeftMouseDown 
from Quartz.CoreGraphics import kCGEventLeftMouseDown 
from Quartz.CoreGraphics import kCGEventLeftMouseUp 
from Quartz.CoreGraphics import kCGMouseButtonLeft 
from Quartz.CoreGraphics import kCGHIDEventTap 
def mouseEvent(type, posx, posy): 
     theEvent = CGEventCreateMouseEvent(None, type, (posx,posy), kCGMouseButtonLeft) 
     CGEventPost(kCGHIDEventTap, theEvent) 

def mousemove(posx,posy): 
     mouseEvent(kCGEventMouseMoved, posx,posy); 

def mouseclick(posx,posy): 
     #mouseEvent(kCGEventMouseMoved, posx,posy); #uncomment this line if you want to force the mouse to MOVE to the click location first (i found it was not necesary). 
     mouseEvent(kCGEventLeftMouseDown, posx,posy); 
     mouseEvent(kCGEventLeftMouseUp, posx,posy); 

mouseclick(100, 100) #CLICKS ON COORDINATE (100, 100) 
+0

看起來像這樣*僅適用於Mac,並且您必須安裝Quartz。 – user2357112

+0

thxs但即時通訊在Windows 7上,但看起來像我需要的,但對於窗口 – user3651091

0

您可以在Python中使用webbrowser.open(url)以使用默認瀏覽器打開url。

但是,我敢肯定,你不應該建立一個這樣的應用程序。我也想象,構建能夠在多個平臺上的多個版本的多瀏覽器上工作的東西將非常困難。

無論如何,這聽起來像是一件被認爲是安全問題的東西。鼠標點擊被理解爲單獨來自用戶,因此自動化該過程可能危及用戶的安全和控制(例如,「嘿!我沒有點擊'刪除帳戶'按鈕!」)。

+0

沒有不多窗口,只有一個窗口與不同的按鈕,需要點擊幾次每個按鈕始終在一個集合的地方,所以應該有沒有像刪除account.thxs安全問題 – user3651091

+0

這不是我的意思。我的意思是解決方案可能必須是非常特定於平臺的,而且不是很便攜。另外,程序不應該訪問不屬於自己的UI元素。無論如何,你爲什麼需要這樣做?它是否適用於某種網頁開發工具? – Vincent