- html - 出于某种原因,IE8 对我的 Sass 文件中继承的 html5 CSS 不友好?
- JMeter 在响应断言中使用 span 标签的问题
- html - 在 :hover and :active? 上具有不同效果的 CSS 动画
- html - 相对于居中的 html 内容固定的 CSS 重复背景?
我正在尝试设置 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 [
您正在使用JavascriptExecutor
在 executeScript
中的 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/
我是一名优秀的程序员,十分优秀!