Selenium - org.openqa.selenium.WebDriverException:b为null

问题描述 投票:1回答:1

在使用Selenium Webdriver运行测试时,我总是得到以下异常。

我已经完成了一些谷歌搜索,但找不到任何与此异常相关的内容,但发现当您在代码中执行JavaScript时会发生此异常但我没有这样做。

抛出此异常的代码: -

public void foo(){
    WebDriver driver = new FirefoxDriver();
    driver.get("www.xyz.com");
    driver.switchTo().defaultContent();
    driver.switchTo().frame(driver.findElement(By.xpath("(//iframe[contains(@id ,'easyXDM_default')])[2]")));
    WebElement resultsDiv = driver.findElement(By.xpath("(//textarea[contains(@id,'ext-comp')])[1]"));
    .....

}

每当我们在应用程序中找到textarea字段并且字段在框架内时,就抛出异常。

下面是堆栈跟踪: -

org.openqa.selenium.WebDriverException:b为null

命令持续时间或超时:21毫秒构建信息:版本:'2.41.0',修订版:'3192d8a6c4449dc285928ba024779344f5423c58',时间:'2014-03-27 11:29:39'系统信息:主机:'HPDA0128',ip:' 10.9.60.36',os.name:'Windows 7',os.arch:'x86',os.version:'6.1',java.version:'1.7.0_55'会话ID:f228cc09-2dd5-4658-9950- c504bf007b7f驱动程序信息:org.openqa.selenium.firefox.FirefoxDriver Capabilities [{platform = XP,acceptSslCerts = true,javascriptEnabled = true,cssSelectorsEnabled = true,databaseEnabled = true,browserName = firefox,handlesAlerts = true,browserConnectionEnabled = true,webStorageEnabled = true,nativeEvents = false,rotate = false,locationContextEnabled = true,applicationCacheEnabled = true,takesScreenshot = true,version = 30.0}] at sun.reflect.GeneratedConstructorAccessor13.newInstance(Unknown Source)at sun.reflect.DelegatingConstructorAccessorImpl.newInstance(Unknown Source )org.openqa.selenium.remote.ErrorHandler.cr上的java.lang.reflect.Constructor.newInstance(未知来源)位于org.openqa的org.openqa.selenium.remote.remote上的org.openqa.selenium.remote.RemoteWebDriver.exe(RemoteWebDriver.java:595)上的org.openqa.selenium.remote.ErrorHandler.throwIfResponseFailed(ErrorHandler.java:145)中的eateThrowable(ErrorHandler.java:193) .selenium.remote.RemoteWebDriver.findElement(RemoteWebDriver.java:348)at org.openqa.selenium.remote.RemoteWebDriver.findElementByXPath(RemoteWebDriver.java:445

如何解决此错误或此错误表示/意味着什么?

java selenium selenium-webdriver remotewebdriver
1个回答
0
投票

我在尝试点击我的网页元素时遇到了同样的错误。我也尝试使用坐标,但有相同的错误。 (Javascript错误b为null)

但它最终通过在尝试访问和单击元素之前添加刷新代码行来工作。

之前:

By myBy= By.xpath("//img[contains(@title,'title')]");
driver.findElement(myBy).click();

后:

driver.navigate().refresh();
By myBy= By.xpath("//img[contains(@title,'title')]");
driver.findElement(myBy).click();

也许你应该在尝试访问元素之前尝试刷新页面(driver.navigate()。refresh();)。

© www.soinside.com 2019 - 2024. All rights reserved.