使用selenium捕获javascript更新

时间:2011-10-20 05:48:30

标签: selenium

我想从一个不会重新加载页面本身的javascript代码不断更新的实时网页中提取数据流。如果有可能,我如何使用硒?

1 个答案:

答案 0 :(得分:1)

您可以在循环中找到新的/添加的元素。它可能在Java中看起来像这样:

WebElement element = driver.findElement(By.id("theId"));
int count = 0;

while (element != null && count < 60) {

    // get the element again
    element = driver.findElement(By.id("theId"));

    // do something with the element...
    log(element.text());

    // wait one second
    Thread.sleep(1000);

    // increment a count if you want to eventually escape this loop, in case you never find your elment
    count++;
}

如果这不适用于您的目的,您可以获取该页面的完整源代码并解析它以查找您要查找的任何信息。

String pageSource = driver.getPageSource();

您可以在上面的循环中执行此操作,并继续尝试,直到达到超时或找到更新的信息。