Selenium getText()无法在htmlunitdriver

时间:2015-06-02 17:55:59

标签: java selenium selenium-webdriver htmlunit htmlunit-driver

我环顾四周,无法找到一个特定的答案,帮助我弄清楚我的代码中发生了什么。

我正在使用htmlunitdriver运行selenium webdriver测试。我只是在photobucket上传一张图片用于学习目的。我使用过FirefoxDriver,它运行得非常好。然后我尝试使用htmlunitdriver并且我的IDE说代码正常工作(我刚刚更改了Firefox驱动程序用于htmlunitdriver)但每当我查看我的相册时我都看不到图片。我的第一个猜测是无头浏览器没有等待图片上传,所以它只是离开了,所以我添加了一些丑陋的睡眠以检查它并仍然无法工作!

这是代码

driver.get("http://s394.photobucket.com/upload/links");
    Thread.sleep(3000);
    driver.findElement(By.id("urlInput")).sendKeys("photo_link");
    driver.findElement(By.id("uploadBtn")).click();
    Thread.sleep(3000);
    String text = driver.findElement(By.className("progressCount")).getText();
    driver.findElement(By.id("goalbum")).click();
    driver.close();

getText()用于看起来像这样的HTML元素。

<div class="progressCount" style="width: 711px;">100%</div>

它是一个加载栏。这一点的目的是让webdriver web等待,直到酒吧宣布它已满并继续并关闭驱动程序。

每当我尝试使用getText时,Intellij会从与#34;样式规则&#34;相关的DefaultCssErrorHandler中抛出一系列警告和错误。虽然字符串仍然是空的。

1 个答案:

答案 0 :(得分:0)

您还可以尝试以下操作:

driver.findElement(By.cssSelector(&#34; div.progressCount&#34))。gettext的();