我正在使用 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 中找到搜索结果的下一页