![](/img/trans.png)
[英]Unable to find an exact match for CDP - Cannot upload a file in SELENIUM & JAVA from windows popup
[英]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.