一尘不染

如何使用Java使用Selenium Webdriver通过javascript设置选定Web元素的属性?

selenium

我想使用javascript设置网页上所选元素的属性。

我发现了2种使用javascript设置属性的方法

1个

   WebDriver driver; // Assigned elsewhere
    JavascriptExecutor js = (JavascriptExecutor) driver;
    js.executeScript("document.getElementByID('//id of element').setAttribute('attr', '10')");

2

WebElement element = driver.findElement(By.id("foo"));
    String contents = (String)((JavascriptExecutor)driver).executeScript("return arguments[0].innerHTML;", element);

但是我想将javascript应用于使用seleniumwebdriver找到的特定Webelement

例如,我已经使用Selenium Webdriver选择了一个链接

driver.findElement(By.linkText("Click ME"))

现在,我想使用javascript设置此webelement的属性

但我不知道如何将两者结合

请帮助我找到解决方案


阅读 718

收藏
2020-06-26

共1个答案

一尘不染

遵循以下原则:

JavascriptExecutor js = (JavascriptExecutor) driver;
WebElement element = driver.findElement(By.linkText("Click ME"));
js.executeScript("arguments[0].setAttribute('attr', '10')",element);
2020-06-26