我正在使用\\ webdriver version2.41,浏览器是Firefox28。我正在尝试查找自动建议文本框下拉列表中存在的元素的列表数。例如:在Google.co.in页面中撰写Banga以获得有关Bangalore的建议。 获得建议列表后,我想在屏幕上放弃所有“自动建议”文本。 我已经编写了代码,但是不知道为什么它不起作用。 我是Selenium Webdriver的新手。 请帮我。 这是我的代码:

    import java.util.List;
    import java.util.concurrent.TimeUnit;

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

    public class test {

       public static void main(String[] args) {

          WebDriver driver = new FirefoxDriver();
          driver.get("http://www.google.co.in");
          driver.findElement(By.id("gbqfq")).sendKeys("Banga");
          driver.manage().timeouts().implicitlyWait(50, TimeUnit.SECONDS);
          List<WebElement> lstobj =  driver.findElements(By.xpath("//div[@class='gsq_a']/table/tbody/tr/td/span/b"));

          System.out.println(lstobj.size());

          for (int i = 0; i<lstobj.size();i++)
          {
            String p= lstobj.get(i).getText();
            System.out.println(p);
          }

    }

}

===============>>#1 票数:0

编辑了您使用的xpath以及检索文本的方式:

import java.util.List;
import java.util.concurrent.TimeUnit;

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

public class test {

   public static void main(String[] args) {

      WebDriver driver = new FirefoxDriver();
      driver.get("http://www.google.co.in");
      driver.findElement(By.id("gbqfq")).sendKeys("Banga");
      driver.manage().timeouts().implicitlyWait(50, TimeUnit.SECONDS);
      List<WebElement> lstobj =  driver.findElements(By.xpath("//table[@class='gssb_m']/tbody/tr"));

      System.out.println(lstobj.size());

      for (int i = 0; i<lstobj.size();i++)
      {
        String p= lstobj.get(i).findElement(By.xpath("//span")).getText();
        System.out.println(p);
      }

}

===============>>#2 票数:0 已采纳

希望对您有帮助。
导入java.util.List; 导入java.util.concurrent.TimeUnit;

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

public class google{

   public static void main(String[] args) {

      WebDriver driver = new FirefoxDriver();
      driver.get("http://www.google.co.in");
      driver.findElement(By.id("gbqfq")).sendKeys("Banga");
      driver.manage().timeouts().implicitlyWait(50, TimeUnit.SECONDS);
      WebElement parent=driver.findElement(By.className("gssb_e"));
      List<WebElement> child =  parent.findElements(By.tagName("div"));

      int size=child.size();
      System.out.println(size);

      for (int i =1; i<=size;i++)
      {
        String p= driver.findElement(By.xpath("//*[@id='gsr']/table/tbody/tr[1]/td[2]/table/tbody/tr["+i+"]/td/div/table/tbody/tr/td[1]")).getText();
        System.out.println(p);
        driver.close();
      }

}
}

===============>>#3 票数:0

driver.get("https://www.google.co.in/");

driver.findElement(By.xpath("//input[@class='gLFyf gsfi']")).sendKeys("Banga");
//This will also work USE descendant to get all child element
List<WebElement> printlist = driver.findElements(By.xpath("//ul[@role='listbox']//li/descendant::div[@class='sbl1']"));
System.out.println(printlist.size());
for ( WebElement list: printlist) { 
//if you want to specify condition here you can
    System.out.println(list.getText());
}

  ask by raj translate from so

未解决问题?本站智能推荐: