1

我正在使用 selenium 在 Quora 上登录和搜索关键字。一切正常,我已经能够搜索关键字并获得第一页的结果。但是,我无法获取下一页结果。我在站点上找到了名为 min_seq的站点的下一页的令牌。但是,当我使用 selenium 获取页面时,包含该令牌的 html 元素在响应中不存在。这是我的搜索关键字代码。

    String term = "protein";
    String searchUrl = "https://www.quora.com/search?q=%s";
    String Xport = System.getProperty("lmportal.xvfb.id", ":1");
    final File firefoxPath = new File(System.getProperty("lmportal.deploy.firefox.path",
            "/home/infoobjects/firefox/firefox"));
    FirefoxBinary firefoxBinary = new FirefoxBinary(firefoxPath);
    firefoxBinary.setEnvironmentProperty("DISPLAY", Xport);
    // Start Firefox driver
    WebDriver driver = new FirefoxDriver(firefoxBinary, null);
    driver.manage().timeouts().implicitlyWait(30, TimeUnit.SECONDS);
    driver.get("https://www.quora.com/");
    String str = driver.getPageSource();
    System.out.println("str-->"+str);
    WebElement emailElement = driver.findElement(By.name("email"));
    emailElement.sendKeys("<email id>");
    WebElement passwd = driver.findElement(By.name("password"));
    passwd.sendKeys("<password>");        
    passwd.sendKeys(Keys.RETURN);
    // get html page after login to selenium
    str = driver.getPageSource(); 
    url = String.format(searchUrl, term);
    driver.get(url);
    str = driver.getPageSource();
    HtmlCleaner cleaner = new HtmlCleaner();        
    //next page url
    NEXT_URL = node.getElementsByName("body", true)[0].getElementsByName("script", true)[0].getAttributeByName("src");
    System.out.println(NEXT_URL);

在这种情况下,NEXT_URL 给出 null。这是因为 body 标记内没有脚本标记到已清理的 html 中。

任何建议都有助于从 Quora 中找到搜索结果的下一页

4

0 回答 0