我已经编写了一个代码来废弃其中一个网站的某些信息。为了报废,我正在使用Selenium Webdriver
。现在我的问题是,页面上有一些信息,但最初只有ten entries
显示在页面上,我可以废弃这10个条目。但是,只有在点击位于load more
的{{1}}链接后,才会显示更多条目。每当我点击the bottom of the page
时,剩余的条目将被加载到页面load more link
整个页面(with out refreshing
)我无法废弃这些新加载的条目。请帮忙
这是我写的代码
probably ajax update
实际上在点击WebDriver driver = new HtmlUnitDriver(BrowserVersion.FIREFOX_3_6);
driver.get("some site url");
Thread.sleep(500);
driver.findElement(By.xpath("//*[@id=\"username\"]")).sendKeys("user name");
driver.findElement(By.xpath("//*[@id=\"password\"]")).sendKeys("password");
driver.findElement(By.xpath("//*[@id=\"login\"]//div/button")).click();
Thread.sleep(200);
if(driver.getPageSource().toString().contains("Hi "+un)) {
driver.get("http://www.somesite/m/searches/Loads/new");
driver.findElement(By.xpath("//*[@id=\"Criteria_PostingAge\"]")).clear();
driver.findElement(By.xpath("//*[@id=\"Criteria_PostingAge\"]")).sendKeys("12");
driver.findElement(By.xpath("//*[@id=\"Criteria_Origin_RawValue\"]")).clear();
driver.findElement(By.xpath("//*[@id=\"Criteria_Origin_RawValue\"]")).sendKeys(orgn[paraCount]);
driver.findElement(By.xpath("//*[@id=\"Criteria_Destination_RawValue\"]")).clear();
driver.findElement(By.xpath("//*[@id=\"Criteria_Destination_RawValue\"]")).sendKeys(destn[paraCount]);
date=new Date();
calendar=Calendar.getInstance();
calendar.setTime(date);
driver.findElement(By.xpath("//*[@id=\"Criteria_PickupFrom\"]")).clear();
driver.findElement(By.xpath("//*[@id=\"Criteria_PickupFrom\"]")).sendKeys(pickupDtFmt.format(date).toString());
calendar.add(Calendar.DAY_OF_MONTH, 1);
date=calendar.getTime();
driver.findElement(By.xpath("//*[@id=\"Criteria_PickupTo\"]")).clear();
driver.findElement(By.xpath("//*[@id=\"Criteria_PickupTo\"]")).sendKeys(pickupDtFmt.format(date).toString());
driver.findElements(By.xpath("//*[@id=\"search-entry\"]//div/input")).get(11).click();
Thread.sleep(2000);
// The code upto here will get me starting ten entries
// In order to get more entries i need to click on load more o link
driver.findElement(By.xpath("//*[@id=\"loadMore\"]")).click();
Thread.sleep(3000);
WebElement myDynamicElement = (new WebDriverWait(driver, 30))
.until(ExpectedConditions.presenceOfElementLocated(By.xpath("//*[@id=\"search-results\"]/div[2]/ul/li[12]")));
锚链接之后,我应该再获得十个条目。共有20个参赛作品。但是我第一次加载页面时只得到了10个条目
答案 0 :(得分:0)
我敢打赌,如果你转而使用GhostDriver,你会得到不同的结果。没理由使用HtmlUnitDriver when GhostDriver can do the same and is probably more cutting edge technology。