当前位置: 首页 > 知识库问答 >
问题:

硒。Webdriver。互联网浏览器。无法计算//body XPath

茅昀
2023-03-14

我希望有人能给我指出正确的方向。我们使用Selenium Webdriver 2.28和Internet Explorer版本8。

我们的测试通过以下方法,定位器参数为{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(警告:服务器未提供任何stacktrace信息)

命令持续时间或超时: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}〕

共有2个答案

巢德华
2023-03-14

您是如何获得XPATH的?它是否带有Firefox XPATH Checker插件?如果是这样,我建议将XPATH与Firebug一起使用。那个似乎是IE的最佳IMO。在Firebug中,一旦您选择了元素,您可以右键单击该元素并选择复制XPATH。

史骏
2023-03-14

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

虽然我不建议在IE上使用这些定位器,因为即使在WebDriver上,它们也被证明较慢,如果可能的话,使用CSS定位器。

 类似资料:
  • 我正在使用硒网格(JUNIT,Java)在浏览器的多个实例上运行我的测试用例。我使用“java -jar -jar 硒-服务器-独立-2.20.0.jar -角色中心”来运行中心。和“java -jar 硒-服务器-独立-2.20.0.jar -角色 web驱动程序 -hub http:// :4444/网格/寄存器 -端口 5566” 来运行节点。 我验证了两者都运行正常。 但是当我通过ecli

  • 线程“main”java.lang.IllegalStateException中的异常:驱动程序可执行文件的路径必须由WebDriver.Chrome.driver系统属性设置;有关更多信息,请参见https://github.com/seleniumhq/selenium/wiki/chromedriver。最新版本可从http://chromedriver.storage.googleapis

  • 本地:- 我正在尝试在chrome浏览器上运行硒测试。 当前,另一个chrome浏览器正在运行,然后通过打开新配置文件在chrome browser上运行测试,并得到以下错误:- Chrome驱动配置:- 如果我关闭现有的正在运行的chrome浏览器,然后在chrome浏览器上运行硒测试,它可以工作。 詹金斯:- 当我试图在詹金斯上跑步时。我收到以下错误:- 这里的问题是什么,有人能帮我解决这个吗

  • 我尝试在我的办公室内联网连接中使用硒网络驱动程序启动火狐浏览器。收到错误消息: 线程“main”org.openqa.selenium.remote中出现异常。UnreachableBrowserException:无法启动新会话。可能的原因是远程服务器地址无效或浏览器启动失败。 [![Selenium Web驱动程序错误消息][2]][2] 谁能在这方面帮助我。

  • 问题内容: 我尝试使用rubyseleniumwebdriver运行一些基本的自动化测试。相同的代码在我的家用计算机上可以完美地工作,但是在我的工作计算机上却无法工作,而我的工作计算机位于代理后面(不需要身份验证)。 driver = Selenium :: WebDriver.for:firefox,:profile =>’默认’ 我得到的错误是: 浏览器将使用正确的配置文件打开,但驱动程序变量

  • 我尝试使用ruby selenium WebDriver运行一些基本的自动化测试。同样的代码在我的家用计算机上工作得很好,但在我的工作计算机上失败了,因为我的工作计算机后面有一个代理(不需要身份验证)。 有什么想法吗?