gpt4 book ai didi

javascript - 如何在 Selenium WebDriver 中使用 JavascriptExecuter 设置属性值

转载 作者:行者123 更新时间:2023-12-02 03:08:00 29 4
gpt4 key购买 nike

我正在尝试设置 attribute所有同类的值(value) <img>我的网站中的标签,例如

<img src="images/temp/advertisement.png">

我想设置 style="display:none"这样我就可以隐藏它们。

我尝试过以下方法 -

List<WebElement> element = driver.findElements(By.tagName("img"));

for(WebElement e:element)
{

if(e.getAttribute(src).contains("images/temp/advertisement.png"))
{
jse.executeScript("document."+e+".setAttribute('style', 'display: none;')");
}
}

但出现错误

Exception in thread "main" org.openqa.selenium.WebDriverException: unknown error: Runtime.evaluate threw exception: SyntaxError: Unexpected token [

有人可以帮助这里出了什么问题吗?或者我还能做些什么?

最佳答案

Exception in thread "main" org.openqa.selenium.WebDriverException: unknown error: Runtime.evaluate threw exception: SyntaxError: Unexpected token [

您正在使用JavascriptExecutorexecuteScript 中的 element 上执行 javascript 但语法不正确arguments 将通过 arguments 魔术变量提供给 JavaScript,就好像该函数是通过 Function.apply 调用的,其中 arguments 必须是数字、 boolean 值字符串WebElement 等。

您可以尝试如下:-

List<WebElement> element = driver.findElements(By.tagName("img"));

for(WebElement e:element) {
if(e.getAttribute("src").contains("images/temp/advertisement.png")){
jse.executeScript("arguments[0].style.display = 'none'", e);
}
}

关于javascript - 如何在 Selenium WebDriver 中使用 JavascriptExecuter 设置属性值,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/41464050/

29 4 0
Copyright 2021 - 2024 cfsdn All Rights Reserved 蜀ICP备2022000587号
广告合作:1813099741@qq.com 6ren.com