我想替换网页中的某些图像。 我用来查找图像的代码是:
black-passport-c-yo-cover
现在我正尝试用JavaScriptExecutor替换图像
List<WebElement> elements = driver.findElements(By.xpath("//div[@jsname='pCbVjb']//button[@jsname='WR0adb']//img[contains(@srcset, 'https://lh3.googleusercontent.com')]"));
int size=elements.size();
所以我正在从excel表中读取要替换的图片的数据 但是我无法替换图像。
那我需要传递来自表的要替换的图片的参数是什么?
如果我要对其进行硬编码,则可以正常工作,但我想使其动态化。
请帮助我。
答案 0 :(得分:0)
没有足够的细节来提供适当的解决方案,但这是我认为可以带给您的解决方案。
elements.get(0)
因此脚本通常如下所示:
List<WebElement> elements = driver.findElements(...));
JavascriptExecutor js = (JavascriptExecutor) driver;
for( WebElement element : elements ) {
// get next image, not sure how you do it;
String nextImage = getNextImageToBeReplacedURL();
js.executeScript("arguments[0].setAttribute('srcset' , arguments[1])", element, nextImage );
}
其中getNextImageToBeReplacedURL
返回来自Excel的动态值。