javascript如何下载“惰性”加载图像<img load=“lazy”
我使用了JavaScript executer&;能够找到ImageElement
,但是当我尝试提取URL(用于下载image.svg)时,我得到了一个错误“NoTouchElementException”,下面是我的代码:
((JavascriptExecutor)driver).executeScript("window.open('https://www.lambdatest.com/selenium-automation/','_blank');");
wait.until(webDriver -> ((JavascriptExecutor) webDriver).executeScript("return document.readyState").equals("complete"));
WebDriverWait wait = new WebDriverWait(driver, Duration.ofSeconds(10));
JavascriptExecutor js = (JavascriptExecutor) driver;
By Image=By.xpath("//img[@title='Jenkins']");
js.executeScript("window.scrollTo(0, document.body.scrollHeight)");
// Below commented snippet is giving Error
/*WebElement ImageElemnt =driver.findElement(Image);
String src = ImageElemnt.getAttribute("src");
System.out.println(src);*/
wait.ignoring(NoSuchElementException.class).until(ExpectedConditions.invisibilityOfElementLocated(Image))
# 1 楼答案
问题说明:
代码的第一行是
这基本上意味着你正试图在一个新的选项卡中打开
https://www.lambdatest.com/selenium-automation/
。Selenium不知道,直到您告诉Selenium,您现在必须切换到不同的选项卡,以便进一步执行所以,你的代码行应该是这样的
更新1: