我正在使用\\ 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

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

6回复

如何使用Selenium WebDriver(Selenium 2)和Java键入文本框?

我正在使用Selenium 2 。 但在运行以下代码后,我无法输入文本框。
1回复

无法使用Java在Selenium WebDriver中找到/填充文本框

<TD class=CuteEditorFrameContainer style="PADDING-BOTTOM: 2px; PADDING-TOP: 1px; PADDING-LEFT: 3px; PADDING-RIGHT: 3px" height="100%" colSpa
2回复

如何使用Java从文本框Webdriver获取类值

测试条件-验证字段验证,即,如果我在该文本框中输入了无效数据,然后捕获Exception值并进行验证(请输入名字),那么以下是我的HTML代码 执行前(验证) 执行验证后 在该对象的无效输入过程中,如何验证验证消息是否存在 我的代码是 如果我执行它总是得到“
1回复

Selenium Webdriver处理Java脚本文本框

我正在尝试在输入字段中指定邮政编码以获取餐厅位置。 我可以指定邮政编码,但无法按Enter键。 由于它没有输入按钮,因此需要通过javascript处理。 需要帮助解决问题:
1回复

使用python和Selenium Webdriver创建自动填充表格,但是我无法自动填充文本框

一切正常, except send_keys 无法获取要在文本字段中填充的文本并得到错误
1回复

无法使用WebDriver从文本框中检索文本

我正在自动化一个客户网站,其中有一个文本框,我只需要验证该文本框是否可编辑即可。 为此,我单击文本框,输入随机字符串,然后再次检索输入的文本以检查是否写入了相同的文本。 我可以成功找到,单击并在文本框中编写内容,但是在检索文本时,它始终返回空白(或“”)。 你们能告诉我这个问题可能是什
3回复

使用Selenium Webdriver从自动填充文本框中选择选项

您能帮我从下拉列表中选择自动填充值吗? 我们有“客户端” textbox ,它是一个自动填充的框。 当我在客户字段中输入“ ho”文本时,它会显示一个下拉列表,其中包含与我输入的文本相关的值,即ho ,然后我必须选择列表中可用的那些值。 在上面的代码中,我尝试按Ent
1回复

如何使用Selenium WebDriver获取文本框值

我正在使用Selenium库进行测试。 我有这个小代码: 问题是,在消息框中我看不到控件的值。 它可以正确发送密钥,但是在下一行中,代码无法捕获该值。
2回复

如何使用selenium webdriver中的操作清除文本框

我在使用操作时遇到了清除文本框的问题。 这是代码: 如何清除文本框?
3回复

如何从自动建议文本框中选择值?

从文本框中,我尝试了多种方法来找出解决方案,但是失败了,因此请对该查询提供帮助 网址:-https: //www.goibibo.com/ 在该网站内,当我尝试从“ FROM”自动建议文本框中选择值时,我无法选择,因为我无法检查该下拉列表,因为它是动态的,并且使用了一些JavaScr