【问题标题】:How to scrape data from website when dropdown list select?下拉列表选择时如何从网站上抓取数据?
【发布时间】:2014-04-05 04:57:36
【问题描述】:

您好,我正在尝试从网站中抓取数据,我想在该网站中自动选择下拉菜单,然后从表格中捕获所有数据。

我遇到了问题,因为在该网站中没有可用的表 ID,所以我很困惑如何获取该值。

这是我的代码

public class Market {
    public static void main(String args[]) throws InterruptedException, ClassNotFoundException, SQLException {
      WebDriver driver = new HtmlUnitDriver(BrowserVersion.getDefault());
        String market="Rura";
        String url="http://www.upmandiparishad.in/CW_Rates_new.asp";
        driver.get(url);
        Thread.sleep(5000);
        new Select(driver.findElement(By.id("mktcode"))).selectByVisibleText(market);
        Thread.sleep(3000);
        Thread.sleep(5000);
        WebElement findElement = driver.findElement(By.id("what to give here"));
        String htmlTableText = findElement.getText();
        System.out.println(htmlTableText);
        driver.close();
        driver.quit();

    }
}

我怎样才能实现我的输出

【问题讨论】:

  • @Jason Aller thx 编辑你能帮我吗
  • 页面上有五个表格。为什么不按标签选择表格并只处理您想要的表格?
  • 你怎么能帮我写一些代码

标签: java selenium web-scraping htmlunit-driver


【解决方案1】:

问一个问题的人按名字回答的问题在于,他们可能不了解您问题的某些部分。那就是说我会尝试以下应该返回页面上 5 个表的集合。

driver.findElements(By.tagName("table"));

如果/当这不起作用时,请查看http://docs.seleniumhq.org/docs/03_webdriver.jsp

【讨论】:

  • 当您告诉某人某事不起作用时,添加足够的细节很重要。您是否尝试过以类似于 List<WebElement> labels = driver.findElements(By.tagName("table")); 的形式使用它?
猜你喜欢
  • 1970-01-01
  • 1970-01-01
  • 2020-04-26
  • 1970-01-01
  • 2022-11-01
  • 2013-05-21
  • 1970-01-01
  • 1970-01-01
相关资源
最近更新 更多