setAttribute() method for WebElement
本文关键字:for WebElement method setAttribute | 更新日期: 2023-09-27 18:32:50
在这个问题中,两个答案都使用setAttribute()
作为WebElement
功能。但是,我在Java,C#或Python文档中找不到此方法,只能getAttribute()
。尝试从 C# (Visual Studio) 和 Java (Eclipse) 中使用最新版本WebElement
对象调用此方法会产生相同的结果Selenium
。
所以我的问题是,这种方法真的存在吗?
在检查了Selenium Python API文档和源代码之后,我可以得出结论 - 没有这样的方法。而且,在WebDriver规范本身中没有任何关于它的内容。
要设置属性,通常会执行脚本:
elm = driver.find_element_by_id("myid")
driver.execute_script("arguments[0].setAttribute(arguments[1], arguments[2]);",
elm,
"attr_name",
"attr_value")
他们使用的是 JavascriptExecutor 类。
即
WebDriver driver; // Assigned elsewhere
JavascriptExecutor js = (JavascriptExecutor) driver;
js.executeScript("document.getElementById('//id of element').setAttribute('attr', '10')");
或扩展方法
public static void setAttribute(this IWebElement element, string value, bool clearFirst)
{
if (clearFirst) element.Clear();
element.SendKeys(value);
}