本文介绍了如何在文本框中找到并键入内容的处理方法,对大家解决问题具有一定的参考价值,需要的朋友们下面随着小编来一起学习吧!
问题描述
public class testFluent {
WebDriver driver;
@Before
public void setUp(){
driver = new FirefoxDriver();
driver.manage().window().maximize();
driver.manage().deleteAllCookies();}
@Test
public void myFirstFluent(){
WebElement element;
driver.get("http://www.yahoo.com");
element = myDynamicElement(By.id("//*[@id='p_13838465-p']"));
System.out.println("Element found");
}
public WebElement myDynamicElement(final By locator){
Wait<WebDriver> wait = new FluentWait<WebDriver>(driver)
.withTimeout(10, TimeUnit.SECONDS)
.pollingEvery(100, TimeUnit.MILLISECONDS)
.ignoring(NoSuchElementException.class);
WebElement element = wait.until(new Function<WebElement, WebDriver>(){
public WebElement apply(WebDriver drv){
return drv.findElement(By.id(locator));
}
});
return element;
}
}
我无法找到并以错误结尾.
I am unable to locate and ends with Error.
By类型的方法id(String)不适用于com.junit.qa.testFluent.myDynamicElement(testFluent.java:49)上的参数(By)
The method id(String) in the type By is not applicable for the arguments (By) at com.junit.qa.testFluent.myDynamicElement(testFluent.java:49)
推荐答案
稍等片刻,您可以使用
private boolean wAit(String match)
{
try
{
(new WebDriverWait(driver, 30))
.until(ExpectedConditions.presenceOfElementLocated (By.xpath(match)));
return true;
}
catch (NoSuchElementException e) {
return false;
}
}
您可以创建上述方法,并在需要等待元素的任何地方使用它.例如
You can create the above method and use it where ever you need to wait for an element. for example
如果要在文本框中写一些东西,并想等待文本框加载
if want a write something in the textbox and want to wait for the text box to load
wAit(" xpath of the textbox here")
driver.findelements... sendkeys()..
如果需要,您可以更改定位器类型,也可以增加/减少时间限制
If you want you can change the locator type and increase/decrease the time limit also
这篇关于如何在文本框中找到并键入内容的文章就介绍到这了,希望我们推荐的答案对大家有所帮助,也希望大家多多支持!