Aar*_*lla 7 junit selenium dom zk
我正在使用最新版本的Selenium和chromedriver
测试ZK应用程序.
在测试期间,我想转储DOM(或其中的一部分)以帮助我找到我需要的元素(并且可能帮助那些必须维护测试的人).
该方法WebDriver.getPageSource()
看起来很有前途,但它只返回服务器发送的HTML,而不是运行所有JavaScript代码后的结果.
运行JavaScript代码; 我可以通过ID找到我在输出中看不到的元素getPageSource()
.所以我试过WebElement.getText()
但这只是元素的文本,而不是元素本身或它们的属性.
是否有可能获得DOM或我是否必须在此进行锁孔手术?
我确实有同样的问题,但我发现做到这一点的唯一方法是 ExecuteScript:
/// <summary>
/// Gets the parentElement/Node of a particular element
/// </summary>
/// <param name="driver"></param>
/// <param name="element"></param>
/// <returns></returns>
public static IWebElement GetElementParent(IWebDriver driver,IWebElement element)
{
return (IWebElement) ((IJavaScriptExecutor)driver).ExecuteScript("return arguments[0].parentNode", element);
}
Run Code Online (Sandbox Code Playgroud)
为什么 By 不支持 By.DOM 的功能我真的不知道......我怀疑这是因为需要多个浏览器的网络驱动程序等