繁体   English   中英

硒。 Webdriver。 IE浏览器。 无法评估// body XPath

[英]Selenium. Webdriver. Internet Explorer. Unable to evaluate //body XPath

我希望有人能指出我正确的方向。 我们正在将Selenium Webdriver 2.28与Internet Explorer版本8一起使用。

我们的测试通过了locator参数为{By.XPath:// body}的以下方法

private IWebElement WaitAndGetElement(By locator)
{
    var wait = new WebDriverWait(_driver, TimeSpan.FromSeconds(Constants.DefaultWaitTimeSecs));
    var elementToWaitFor = wait.Until(driver => driver.FindElement(locator));

    return elementToWaitFor;
}

当代码命中该方法时。 抛出以下异常。 使用IE,此问题可以完全重现。 Chrome或FireFox不会遇到此错误。

如果有人能指出我们正确的方向,我们将不胜感激。

非常感谢。 克里斯蒂安·克拉克

OpenQA.Selenium.InvalidSelectorException:无法评估xpath表达式'// body'或不会导致WebElement出现(警告:服务器未提供任何堆栈跟踪信息)

命令持续时间或超时:156毫秒有关此错误的文档,请访问: http : //seleniumhq.org/exceptions/invalid_selector_exception.html

内部版本信息:版本:'2.28.0',版本:'18309',时间:'2012-12-11 20:21:18'系统信息:os.name:'Windows 2003',os.arch:'x86' ,os.version:“ 5.2”,java.version:“ 1.6.0_31”会话ID:c72ebe1d-e7f0-4fdb-aab8-9f86b374a89a

驱动程序信息:org.openqa.selenium.ie.InternetExplorerDriver功能[{platform = WINDOWS,javascriptEnabled = true,cssSelectorsEnabled = true,handlesAlerts = true,browserName = internet Explorer,nativeEvents = true,takesScreenshot = true,version = 8}]

不是我最喜欢的方法,但是尝试将XPath表达式更改为“ .//body”,它很可能可以与此'fix'一起使用

尽管我不建议在IE上使用这些定位器,但由于即使在WebDriver上,它们也被证明速度较慢,如果可能的话,请使用CSS定位器。

您如何获得XPATH? 是Firefox XPATH Checker插件吗? 如果是这样,我建议仅将XPATH与Firebug一起使用。 那似乎是与IE一起工作最好的IMO。 在Firebug中,一旦选择了元素,就可以右键单击该元素,然后选择“复制XPATH”。

暂无
暂无

声明:本站的技术帖子网页,遵循CC BY-SA 4.0协议,如果您需要转载,请注明本站网址或者原文地址。任何问题请咨询:yoyou2525@163.com.

 
粤ICP备18138465号  © 2020-2024 STACKOOM.COM