selenium 2.0 中的 isElementPresent

新手上路,请多包涵

大家好我正在使用 webdriver 所以如果我想使用 selenium;s rc 函数 isElementPresent 我必须模拟 selenium rc 所以我做这样的事情:

 import org.openqa.selenium.By;
import org.openqa.selenium.WebDriver;
import org.openqa.selenium.WebDriverBackedSelenium;
import org.openqa.selenium.WebElement;
import org.openqa.selenium.firefox.FirefoxDriver;

public class new {
 private static void one_sec() {
  Thread.sleep(4000);
 }
 public static void main(String[] args) {
  WebDriver driver = new FirefoxDriver();
  driver.get(something1);
  Selenium selenium = new WebDriverBackedSelenium(driver, something1);
  selenium.click("//html...");
  one_sec();
  System.out.println(selenium.isElementPresent("text"));
  WebDriver driverInstance = ((WebDriverBackedSelenium) selenium).getWrappedDriver();
  ...
  }

由于 isElementPresent,我总是得到 false,当然元素“文本”在网络上(使用 GWT)。

原文由 user729076 发布,翻译遵循 CC BY-SA 4.0 许可协议

阅读 629
2 个回答

你可以使用纯 webdriver 自己实现它:

 private boolean isElementPresent(By by) {
    try {
        driver.findElement(by);
        return true;
    } catch (NoSuchElementException e) {
        return false;
    }
}

原文由 Dejan Veternik 发布,翻译遵循 CC BY-SA 3.0 许可协议

撰写回答
你尚未登录,登录后可以
  • 和开发者交流问题的细节
  • 关注并接收问题和回答的更新提醒
  • 参与内容的编辑和改进,让解决方法与时俱进
推荐问题