一尘不染

selenium2.0中的isElementPresent

selenium

大家好,我使用的是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的结果我总是会得到错误的信息,当然元素“文本”在网络上(正在使用GWT)。


阅读 564

收藏
2020-06-26

共1个答案

一尘不染

我真的很喜欢Rostislav Matl
在WebDriver(第1部分)上替代方案“
移至Selenium 2”

driver.findElements(By.className("someclass")).size() > 0;

Javadoc: org.openqa.selenium.WebDriver.findElements(org.openqa.selenium.By by)

2020-06-26