運行這段代碼:
JavascriptExecutor js = (JavascriptExecutor) driver;
js.executeScript("arguments[0].setAttribute('style', arguments[1])",` driver.findElement(By.xpath("//input[@type='file']")), "0");
js.executeScript("arguments[0].setAttribute('class', arguments[1])", driver.findElement(By.xpath("//input[@type='file']/../../div[2]")), "a");
driver.findElement(By.xpath("//input[@type='file']")).sendKeys("Your Path to the file your system");
說明:每個瀏覽按鈕在隱藏狀態在DOM一<input>
標籤。通過使用下面的代碼行,我們只需更改包含<input>
標籤的標籤的類和樣式屬性,以使其變得可見並且可以對其執行sendKeys()
命令。之後,當你做一個sendKeys
與你想上傳的圖像/文件的絕對路徑。
嗨。您不能使用硒自動化任何基於Windows的對話框/窗口。 Selenium僅適用於瀏覽器。如果要上傳文件,請使用sendkeys方法鍵入文件的路徑並按下提交按鈕。 – Vinay
@ user2798616您是否在UploadImage按鈕旁邊有一個文本框,用於輸入您要上傳的文件的路徑?如果你有,那麼不需要點擊上傳按鈕。直接使用sendKeys將文件路徑粘貼到該文本框中。 – Hemanth
@Vinay:網站上沒有任何文本框旁邊的UploadImage按鈕進入路徑...!它只是有按鈕,所以我怎麼能發送路徑使用這個按鈕 – Niyati