0

我环顾四周,找不到帮助我弄清楚代码中发生了什么的具体答案。

我正在使用 htmlunitdriver 运行 selenium webdriver 测试。我只是为了学习目的在 photobucket 上上传图片。我用过 FirefoxDriver,它工作得很好。然后我尝试使用 htmlunitdriver 并且我的 IDE 说代码正在运行(我刚刚将 FirefoxDriver 更改为 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 都会从 DefaultCssErrorHandler 中引发一系列与“样式规则”相关的警告和错误,但字符串仍然为空。

4

1 回答 1

0

您也可以尝试以下操作:

driver.findElement(By.cssSelector("div.progressCount")).getText();

于 2015-06-03T00:56:58.203 回答