簡體   English   中英

無法使用 SELENIUM 和 JAVA 單擊按鈕 - 觸發 windows 彈出窗口上傳文件

[英]Cannot click on a button using SELENIUM and JAVA - triggering windows popup to upload file

我無法單擊特定按鈕。

它的名稱是“選擇文件”,它應該打開一個 windows 彈出窗口:

<a class="btn btn-primary btn-sm btn-upload">Select file</a>

XPATH 是:

//*[@id="div-add-file"]/a

我試過這樣的東西,但它似乎沒有點擊任何東西,這很奇怪:

driver.findElement(By.xpath("//*[@id=\"div-add-file\"]/a")).click();

我也試過這樣的事情:

driver.findElement(By.linkText("Select file")).click();

這里發生了什么?

首先要注意的是,如果可能的話,總是用 id 標記元素本身,這樣你的選擇器就很簡單了。

此外,CSS 選擇器通常更易於人類閱讀。 在引擎蓋下,最后都是 xpath,所以熟悉它很好,但這不是最優的。 使用提供的信息實際上不可能診斷您的問題。 一種可能是選擇器錯誤,另一種可能是元素尚未加載,您需要等待。 第三種可能性是您的驅動程序或瀏覽器版本。 Selenium 有很多可能 go 錯誤的東西

如果 class 值是唯一的,那么您可以使用:

driver.findElement(By.xpath("//*[@class='btn btn-primary btn-sm btn-upload']")).click()

(或者)

driver.findElement(By.cssSelector(".btn.btn-primary.btn-sm.btn-upload")).click();

否則:

driver.findElement(By.xpath(".//a[contains(text(),'Select file')]")).click();

暫無
暫無

聲明:本站的技術帖子網頁,遵循CC BY-SA 4.0協議,如果您需要轉載,請注明本站網址或者原文地址。任何問題請咨詢:yoyou2525@163.com.

 
粵ICP備18138465號  © 2020-2024 STACKOOM.COM