我们必须为三个文本框提供输入。在两个文本框中,值是静态的,但值在第三个中更改。根据文本框中提供的输入,我们单击“搜索”按钮,结果生成.E.g。 Textbox1:2,Textbox2:3,Textbox3:91,单击“搜索”按钮。页面刷新几秒钟&输出生成。总计数:13。现在再次文本框1:2,文本框2:3,文本框3:92,单击“搜索”按钮。页面刷新几秒钟&输出生成。总计数:17。
但是根据下面的代码,输出是13。 请让我知道代码中的问题。我无法纠正它。
if (myFixedNumbers[0]==91){
driver.findElement(By.id("txtPortal")).sendKeys(Integer.toString(myFixedNumbers[0]));
driver.findElement(By.id("btnSearch")).click();
// use it just before the sendkeys code like this
wait.until(ExpectedConditions.visibilityOfAllElementsLocatedBy(By.xpath("//*[@id='dvCount']/span[2]")));
String text1 = driver.findElement(By.xpath("//*[@id='dvCount']/span[2]")).getText();
System.out.println(text1);
}
if (myFixedNumbers[1]==92){
driver.findElement(By.id("txtPortal")).clear();
driver.findElement(By.id("txtPortal")).sendKeys(Integer.toString(myFixedNumbers[1]));
driver.findElement(By.id("btnSearch")).click();
// use it just before the sendkeys code like this
//wait.until(ExpectedConditions.visibilityOfAllElementsLocatedBy(By.xpath("//*[@id='dvCount']/span[2]")));
String text2 = driver.findElement(By.xpath("//*[@id='dvCount']/span[2]")).getText();
System.out.println(text2);
}
答案 0 :(得分:0)
在第二个if块中,等待代码被注释。因此,代码将尝试从框中检索值,而不必等到页面加载。因此,请尝试取消注释wait语句并检索值。
答案 1 :(得分:0)
嗨试试这个会起作用
if (myFixedNumbers[0] == 91) {
driver.findElement(By.id("txtPortal")).sendKeys(Integer.toString(myFixedNumbers[0]));
driver.findElement(By.id("btnSearch")).click();
// use it just before the sendkeys code like this
wait.until(ExpectedConditions.visibilityOfElementLocated(By.xpath("//*[@id='dvCount']/span[2]")));
String text1 = driver.findElement(By.xpath("//*[@id='dvCount']/span[2]")).getText();
System.out.println("Output 1 : " + text1);
}
if (myFixedNumbers[1] == 92) {
Thread.sleep(1000);
driver.findElement(By.id("txtPortal")).clear();
driver.findElement(By.id("txtPortal")).sendKeys(Integer.toString(myFixedNumbers[1]));
driver.findElement(By.id("btnSearch")).click();
// use it just before the sendkeys code like this
wait.until(ExpectedConditions.visibilityOfElementLocated(By.xpath("//*[@id='dvCount']/span[2]")));
String text2 = driver.findElement(By.xpath("//*[@id='dvCount']/span[2]")).getText();
System.out.println("Output 2 : " + text2);
}
答案 2 :(得分:0)
我已插入Thread.Sleep并删除了等待代码。现在工作正常。