2013-02-22 238 views
0

我有一個簡單的查找功能,可以查找在網頁上傳遞給它的內容。然後我需要返回找到的文本在頁面上的位置的x,y座標。如何獲取網頁上所選文字的x,y座標?

def find_text(): 
    win32api.keybd_event(win32con.VK_CONTROL, 0, 0, 0) 
    win32api.keybd_event(ord('F'), 0, win32con.KEYEVENTF_EXTENDEDKEY | 0, 0) 
    time.sleep(0.05) 
    win32api.keybd_event(ord('F'), 0, win32con.KEYEVENTF_EXTENDEDKEY |  win32con.KEYEVENTF_KEYUP, 0) 
    win32api.keybd_event(win32con.VK_CONTROL, 0, win32con.KEYEVENTF_KEYUP, 0) 
+0

糾正,此功能變成查找,然後我使用我的粘貼功能粘貼它發現的東西 – 2013-02-22 19:57:49

回答

0

它看起來像你試圖寫某種自動化的......我想你會使用網絡自動化框架像TelerikSelenium會更好。如果您試圖讓座標點擊,則不需要像這樣的框架,通常您只需調用click函數。

+0

不幸的是,直到我有了X,Y座標後,點擊才能使用,因爲我正在「查找」每次頁面刷新時頁面上的不同位置。我有計劃使用點擊一次座標。我搜索的內容也不會顯示在頁面的源代碼中。 – 2013-02-22 20:44:00

+0

那麼它是ajax?這些框架處理Ajax。雖然如果瀏覽器的「查看源代碼」顯示出來並能夠使用瀏覽器的「查找」進行搜索,它可能不會被看到,然後它在DOM樹中(我想不出一種方法來實現它)不是)。 – Ngenator 2013-02-22 21:34:31

+0

他們也可以很容易地獲得事物的座標。查看最後一個例子[here](http://www.telerik.com/automated-testing-tools/support/documentation/user-guide/getting-started/automating-browser-actions.aspx)。此外,如果您使用的是Chrome或Firefox,請嘗試使用Inspect Element或Developer Tools來查看源代碼,而不是使用「查看源代碼」選項,並且應該可以實時查看元素,因爲它們是由javascript操作的。 – Ngenator 2013-02-22 21:49:03