所以我試圖復制并將某些內容粘貼到檔案中。它在非遠程設定中沒有問題。
如何使用遠程驅動程式粘貼?
我單擊復制到剪貼板按鈕,然后具有以下粘貼功能。
def copy_recipient_mnemonic_to_file():
paste = pyperclip.paste()
with open('/Users/dusandev/Desktop/StreamFlowWebTests/reporting/wallets/recipient_mnemonic.txt', 'w') as file:
file.write(str(paste))
但它不起作用。在遠程功能中,它不是粘貼從剪貼板復制的文本。它正在粘貼我在我的作業系統中復制的內容。
預先感謝您的幫助!
uj5u.com熱心網友回復:
Pypeclip 僅當您在與測驗相同的機器上運行遠程瀏覽器時才能作業。否則,當您的瀏覽器在其他環境上啟動時,它將呼叫本地剪貼板的操作。
從遠程瀏覽器獲取剪貼板值
不幸的是,Selenium Grid 不支持剪貼板。
為了獲取復制的文本,我建議將其粘貼到某個 textarea 并獲取 value 屬性。
from selenium.webdriver.common.action_chains import ActionChains
from selenium.webdriver.common.by import By
from selenium.webdriver.support.ui import WebDriverWait
from selenium.webdriver.support import expected_conditions as EC
from selenium.webdriver.common.keys import Keys
# open some 3rd-party page with textarea
driver.execute_script('''window.open("https://www.w3schools.com/bootstrap/bootstrap_forms_inputs.asp","_blank");''')
# note window_handles[-1] is the newest window for chrome, for other browsers it might be other index
driver.switch_to.window(driver.window_handles[-1])
# find textarea, clear it and paste from clipboard
textarea = WebDriverWait(driver, 20).until(EC.element_to_be_clickable((By.TAG_NAME, 'textarea')))
textarea.clear()
# ctrl v (or use command v)
ActionChains(driver).key_down(Keys.CONTROL, textarea).send_keys('v').key_up(Keys.CONTROL, textarea).perform()
# getting pasted text
clipboard_value = textarea.get_attribute('value')
# switch back to original window
driver.close()
driver.switch_to.window(driver.window_handles[0])
print(clipboard_value )
轉載請註明出處,本文鏈接:https://www.uj5u.com/qukuanlian/421992.html
標籤:
上一篇:下載沒有對話框視窗硒的檔案
