3 回答

TA貢獻1836條經驗 獲得超5個贊
如果您的目的是從網頁上下載圖片,您可以直接下載帶有 url 的圖片,而不是右鍵單擊。
WebElement elementq =driver.findElement(By.xpath("//a[contains(text(),'fedev.docs-gmail.JPG')][@class]"));
String imageLink = logo.getAttribute("href");
String fileName = url.getFile();
URL imageURL = new URL(imageLink);
InputStream in = new BufferedInputStream(imageURL.openStream());
OutputStream out = new BufferedOutputStream(new FileOutputStream(fileName));
for ( int i; (i = in.read()) != -1; ) {
out.write(i);
}
in.close();
out.close();

TA貢獻1864條經驗 獲得超6個贊
嘗試使用Robot對象解決它:
Actions builderq = new Actions(driver);
builderq.contextClick(elementq);
builderq.build().perform();
Robot robot = new Robot();
int REPEATS_OF_VK_DOWN_INPUT = 3;
for (int i = 0; i < REPEATS_OF_VK_DOWN_INPUT; i++) {
robot.keyPress(KeyEvent.VK_DOWN);
robot.keyRelease(KeyEvent.VK_DOWN);
Thread.sleep(500);
}
robot.keyPress(KeyEvent.VK_ENTER);
robot.keyRelease(KeyEvent.VK_ENTER);
Thread.sleep(1000);

TA貢獻1877條經驗 獲得超1個贊
評論太大了,所以作為答案發布。
根據您想要的問題contextClick(element)
并Save link as
通過操作進行選擇。
值得一提的是,如果上下文菜單列表已經實現為原生上下文菜單列表,我們可以很容易地解決這個問題。但根據您共享的 HTML,似乎context-menu-list是Chrome 瀏覽器的 原生 context-menu-list。
contextClick(element)
進入渲染器進程。這是ChromeDriver模擬按鍵方式的限制。
可以稱為ChromeDriver 架構的錯誤或限制,我們必須等到問題得到解決。
添加回答
舉報