我没有使用Selenium RC或远程WebDriver,但是当我尝试运行我的测试时,它抛出了错误-
remotewebdriver.unpackAndThrowOnError(Response errorResponse)
我的脚本有简单的代码:
driver.FindElement(By.XPath("xpath");在以下位置引发错误:
RemoreWebDriver.FindelementByXPath(String XPath);请帮我解决这个问题
发布于 2018-01-10 05:19:21
由于WebDriver的架构,所有离散的特定于浏览器的驱动程序(FirefoxDriver、ChromeDriver等)都是RemoteWebDriver的子类。这意味着,为了与良好的面向对象编程原则保持一致,错误处理代码对所有实现都是通用的,并且位于基类或RemoteWebDriver中。这意味着在任何错误的堆栈跟踪中,在调用堆栈中看到RemoteWebDriver方法是很常见的,甚至是意料之中的。
说了这么多,我怀疑您真正问的问题不是“为什么我不使用remote时在堆栈跟踪中看到RemoteWebDriver?”相反,我怀疑您正在问的问题是,“为什么我的FindElement调用失败?”这个问题的答案取决于很多因素,但最常见的是元素不是由您指定的定位器定位的,或者当您试图查找该元素时,它实际上不在页面的DOM中。在前一种情况下,您应该修复定位器;在后一种情况下,您应该等待元素出现,然后才能找到它(通常使用WebDriverWait或类似的构造)。
当然,如果没有您试图自动化的超文本标记语言和您试图使用的完整WebDriver代码,就不可能提供更详细的建议。
https://stackoverflow.com/questions/48175510
复制相似问题