2
场景:转到Yahoo.com搜索hotmail,然后单击所有搜索页面。点击所有结果链接
我的代码:它只是打印结果页面的链接。有没有办法在没有页面的情况下点击页面2,3,4?
public class QAJob {
@Test
public void jobSearch(){
WebDriver driver= new FirefoxDriver();
driver.get("https://yahoo.com");
driver.findElement(By.id("uh-search-box")).sendKeys("hotmail");
driver.findElement(By.id("uh-search-button")).click();
driver.manage().window().maximize();
driver.manage().timeouts().implicitlyWait(15, TimeUnit.SECONDS);
//scroll down
JavascriptExecutor jse = (JavascriptExecutor) driver;
jse.executeScript("window.scrollBy(0,1000)", "");
List<WebElement> result_pages=driver.findElements(By.xpath("//div[contains(@class,'pagination')]//a[contains(@title,'')]"));
for (WebElement e: result_pages){
Actions action= new Actions(driver);
WebElement search_results=driver.findElement(By.xpath("//div[contains(@class,'pagination')]//a[contains(@title,'')]"));
System.out.println(e.getAttribute("outerHTML"));
}
}
}
你是什么意思'一次搜索所有搜索页面?多次点击同时? – Andersson
我不明白你的问题,我知道你不能点击链接?只需在for循环中使用以下代码链接:e.click() –
我可以找到页面2,3,4的xpath并对其进行硬编码,而我希望能够点击页面2和页面3,然后下一页,以便我不必对xpath进行硬编码,同时进行多次点击。 –