2016-08-11 94 views
0

我正在嘗試完成打開基於Web /瀏覽器的文檔,在所述文檔中選擇一個字段,然後將其複製到我的操作系統的剪貼板中的簡單過程。這裏的規格:Python,Pyautogui和CTRL-C

Windows 7的 谷歌瀏覽器(最新的穩定) 的Python 3.5 pyautogui鍵盤/鼠標控制

這裏是我試圖用(http://screencast.com/t/jt0kTagb)的工作領域。點擊該小箭頭時,會彈出以顯示日曆以選擇日期。如果您直接點擊該字段,則會突出顯示該字段的內容。當我在這種情況下手動按CTRL + C時,該字段的內容按預期正確進入剪貼板。

我試過兩種讓字段進入我的剪貼板的方法。首先是利用基本上看起來像pyautogui的KeyDown /向上,按功能:

imageCoord = noClick("img/date.png") 
x, y = pyautogui.center(imageCoord) 
pyautogui.click(x, y + 20) 
pyautogui.keyDown('ctrl') 
pyautogui.press('c') 
pyautogui.keyUp('ctrl') 

然後我試圖只使用出現的應用程序菜單,如果你右鍵點擊一些東西,是這樣的:

imageCoord = noClick("img/date.png") 
x, y = pyautogui.center(imageCoord) 
pyautogui.click(x, y + 20, button='right') 
pyautogui.press("down", presses=2) 
time.sleep(1) 
pyautogui.press('enter') 

最後我想它看起來像這樣的pyautogui.hotkey()函數:

imageCoord = noClick("img/date.png") 
x, y = pyautogui.center(imageCoord) 
pyautogui.click(x, y + 20, button='right') 
pyautogui.hotKey('ctrl', 'c') 

在所有三個事件的現場確實選擇是最好的,我可以告訴大家個隨着之前發生的所有其他印刷機/功能順利完成,按鍵按鍵正在經歷。

我面對的問題是,當我以與上述兩種腳本相同的方式手動執行此操作時,我能夠獲取內容。當我使用腳本時,剪貼板不會更新/填充字段的內容。在使用Python和Window的剪貼板時,是否有我忽視或不考慮的內容?

最後,我所要做的就是將該值放入Excel表格中。任何意見,將不勝感激!

回答

1

我也在不同的自動化腳本中發現了這個問題,並且一直在努力解決它幾天。我也在Python 3.5和Windows 7上。我可以排除它與Google Chrome有任何關係,因爲我的特定腳本實際上與SAP一起工作。

閱讀文檔(https://pyautogui.readthedocs.io/en/latest/cheatsheet.html#keyboard-functions)上的pyautogui文檔給出了一個使用Ctrl + C將文本複製到剪貼板的直接示例,所以我可以驗證您實際上沒有做錯什麼。我相信你只是在這裏看一個bug。

我已在項目的GitHub的頁面上開設了一個問題: https://github.com/asweigart/pyautogui/issues/102

+0

同時,試試這個: –

+0

http://stackoverflow.com/questions/12056590/how-to-press-ctrl –

相關問題