我有這樣一個元素,允許我通過單擊上傳檔案:
<a class="gray_box" href="#">Choose world folder<span>Select the world folder, we'll do the rest</span></a>
問題是點擊時會呼叫檔案管理器 截圖
首先我是這樣下載的:
import pyautogui
button = wait(driver, 10).until(EC.element_to_be_clickable((By.CSS_SELECTOR, "[href='#']"))).click()
pyautogui.write(<path>)
pyautogui.press('enter')
但這不允許我以無頭模式上傳檔案
因為路徑是直接插入控制臺,呼叫“確認視窗”,需要手動確認
如何使檔案上傳以無頭模式作業?
uj5u.com熱心網友回復:
使用 Selenium 上傳檔案是通過將上傳的檔案完整路徑字串發送到特殊元素來完成的。此元素可以使用以下 XPath"//input[@type='file']"或 CSS 選擇器樣式定位"input[type='file']"。
因此,如果您要上傳的檔案是例如“C:\my_folder\the_file.png”,則可以使用 Selenium 使用以下代碼行上傳:
driver.find_element(By.XPATH, "//input[@type='file']").send_keys("C:\my_folder\the_file.png")
uj5u.com熱心網友回復:
一些網站在無頭模式下請求用戶代理,在您的作業中編輯此引數并重試。
chrome_options.add_argument("--user-agent=User-Agent: Mozilla/5.0 (Windows NT 10.0; Win64; x64) AppleWebKit/537.36 (KHTML, like Gecko) Chrome/105.0.0.0 Safari/537.36")
uj5u.com熱心網友回復:
import pyautogui
import time
from selenium.webdriver.common.keys import Keys
driver.get('https://chunker.app/#')
button = wait.until(EC.element_to_be_clickable((By.CSS_SELECTOR, "[href='#']"))).click()
time.sleep(2)
pyautogui.write(path Keys.ENTER)
pyautogui.press('enter')
time.sleep(2)
pyautogui.press('enter')
time.sleep(2)
pyautogui.press('enter')
這目前在非無頭中經歷了迄今為止尚未測驗無頭的情況。總共大約有4次進入。
轉載請註明出處,本文鏈接:https://www.uj5u.com/gongcheng/506716.html
標籤:Python 硒 硒网络驱动程序 上传文件 硒铬驱动程序
