iT邦幫忙

0

python如何操作selenium讓chrome列印

from selenium import webdriver
from selenium.webdriver.common.keys import Keys
import pyautogui
import time
driver = webdriver.Chrome()
driver.get("https://www.google.com.tw/")
driver.execute_script("window.print();")
time.sleep(1)
pyautogui.press('enter')
'''driver.switch_to_active_element()
driver.find_elements_by_class_name("action-button").click()'''
#pyautogui.hotkey('ctrl', 'shift', 'p')
#pyautogui.hotkey('alt', 'p')

大家好 小弟最近想要列印出selenium所抓到的畫面
透過window.print(); 或 pyautogui.hotkey('ctrl', 'shift', 'p')
都可以順利進入到列印畫面
然而卻一直無法點下彈出來的列印按鈕
以上是我的程式碼
想請教大神有沒有相對應的解決方法

ccutmis iT邦高手 10 級 ‧ 2019-05-23 08:52:25 檢舉
可以順利進到列印畫面的代碼後面 試試加入下列代碼 :

from time import sleep
sleep(10)
pyautogui.click(x=195, y=176)

x跟y對應到列印按鈕的絕對位置 可能需要修改 我試過是ok的
huz55968 iT邦新手 5 級 ‧ 2019-05-24 09:49:10 檢舉
感謝 成功了
但是又有個問題想請教
就是我的webdriver不見得每次都會彈出來
都是在最小化狀態執行
這有辦法解決嗎

1 個回答

0
echochio
iT邦研究生 4 級 ‧ 2019-05-23 11:04:06

我是用 linux shell 所以抓圖 給你參考

driver.save_screenshot("screenshot.png")

之前用過 pyautogui.click 當然這是之前翻到的 code

#extension image is saved in project folder as findicon.png
#locateOnScreen, a pyautogui method to locate the extension' x & y coordinates in screen
v = pyautogui.locateOnScreen("findicon.PNG") ##save the extension as image
#trigger click event using the pyutogui click method
pyautogui.click(x=v[0],y=v[1],clicks=1,interval=0.0,button="left")

我要發表回答

立即登入回答