在Selenium中,当我运行命令时,比如
document.evaluate("My Xpath", document, null, XPathResult.FIRST_ORDERED_NODE_TYPE, null)
WebDriver失去了对浏览器的控制权。没有超过Javascript执行运行,测试将始终失败。
我认为这与返回一个元素有关,但我在任何地方都没有发现它。
编辑:
相关代码
public CustomPage Login(string username, string password)
{
SendKeys(username, EmailSlot);
SendKeys(password, PasswordSlot);
LoginButton.Click();
while True
{
try
{
if ((driver as IJavaScriptExecutor).ExecuteScript("document.evaluate(\"//a[text() = 'log out'\", document, null, XPathResult.FIRST_ORDERED_NODE_TYPE, null).singleNodeValue") != null) break;
}
catch (Exception)
{ }
}
return CustomPage(driver);
}