是否可以使用 Selenium 手动设置网络元素的属性值?


是的,使用 JavaScript 执行器,可以在 Selenium webdriver 中手动设置网络元素的属性值。Selenium 可以借助 executeScript 方法运行 JavaScript 命令。

首先,我们需要识别出需要使用 JavaScript 命令手动设置属性值的元素 document.getElementsByClassname。接下来,要设置属性,我们必须使用 setAttribute 方法。

让我们将按钮立即检查的背景色修改为黄色。默认情况下,网页上的颜色是绿色。

这可以通过将 background-color 的样式属性设置为黄色来实现。

语法

JavascriptExecutor j = (JavascriptExecutor) driver;
j.executeScript ("document.getElementsByClassName('mui-btn')[0].setAttribute('style', " + "'background-color: yellow')");

示例

import org.openqa.selenium.By;
import org.openqa.selenium.WebDriver;
import org.openqa.selenium.WebElement;
import org.openqa.selenium.firefox.FirefoxDriver;
import java.util.concurrent.TimeUnit;
import org.openqa.selenium.JavascriptExecutor;
public class BackGroundColr{
   public static void main(String[] args) {
      System.setProperty("webdriver.gecko.driver",
         "C:\Users\ghs6kor\Desktop\Java\geckodriver.exe");
      WebDriver driver = new FirefoxDriver();
      driver.get("https://tutorialspoint.com/index.htm");
      // Javascript executor to modify background color
      JavascriptExecutor j = (JavascriptExecutor) driver;
      j.executeScript ("document.getElementsByClassName('mui-btn')[0].setAttribute('style', "
         + "'background-color: yellow')");
   }
}

输出

更新于: 2021 年 4 月 6 日

4 千次以上的浏览

开启您的 职业

完成课程认证

开始
广告