大家好,我使用的是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)。
我真的很喜欢Rostislav Matl 在WebDriver(第1部分)上的替代方案“ 移至Selenium 2”:
driver.findElements(By.className("someclass")).size() > 0;
Javadoc: org.openqa.selenium.WebDriver.findElements(org.openqa.selenium.By by)
org.openqa.selenium.WebDriver.findElements(org.openqa.selenium.By by)