Java 需要检查5页中的500个标题(每页包含100个标题),每个标题必须单击并检查该页标题上的特定标题
检查5页中的500个标题,并检查每个标题上的标题: 请告诉我更正的地方Java 需要检查5页中的500个标题(每页包含100个标题),每个标题必须单击并检查该页标题上的特定标题,java,selenium,Java,Selenium,检查5页中的500个标题,并检查每个标题上的标题: 请告诉我更正的地方 WebElement value = driver.findElement(By.id("numberOfResults")); Select selectElement = new Select(value); selectElement.selectByValue("100"); List<WebElement> PostTitles = driver.findElements(By.className("
WebElement value = driver.findElement(By.id("numberOfResults"));
Select selectElement = new Select(value);
selectElement.selectByValue("100");
List<WebElement> PostTitles = driver.findElements(By.className("hlFld-Title"));
for (WebElement eachTitle : PostTitles)
{
System.out.println(eachTitle.getText());
// String Titles = eachTitle.getText();
int Size = PostTitles.size();
for (int i = 0; i < eachTitle; i++)
{
driver.findElement(By.linkText(eachTitle.getText())).click();
driver.manage().timeouts().implicitlyWait(20, TimeUnit.SECONDS);
driver.findElement(By.linkText("HEADING")).click();
System.out.println(driver.getCurrentUrl());
driver.navigate().back();
driver.navigate().back();
}
}
WebElement value=driver.findElement(By.id(“numberOfResults”);
选择selectElement=新选择(值);
selectElement.selectByValue(“100”);
List PostTitles=driver.findElements(By.className(“hlFld Title”);
for(每个WebElement标题:PostTitles)
{
System.out.println(eachTitle.getText());
//String Titles=eachTitle.getText();
int Size=PostTitles.Size();
for(int i=0;i
很难说您的场景到底是什么,但我认为这是可行的
几处更正:
.implicitlyWait()
,它将应用于WebDriver
的生命周期eachTitle
driver.manage().timeout().implicitlyWait(20,TimeUnit.SECONDS);//这只需要设置一次
WebElement值=driver.findElement(By.id(“numberOfResults”);
选择selectElement=新选择(值);
selectElement.selectByValue(“100”);
List PostTitles=driver.findElements(By.className(“hlFld Title”);
for(每个WebElement标题:PostTitles)
{
字符串title=eachTitle.getText();
系统输出打印项次(标题);
driver.findElement(By.linkText(title)).click();
driver.findElement(By.linkText(“标题”))。单击();
System.out.println(driver.getCurrentUrl());
driver.navigate().back();
driver.navigate().back();
}
用于(int j=0;j<6;j++)
{
WebElement值=driver.findElement(By.id(“numberOfResults”);
选择selectElement=新选择(值);
selectElement.selectByValue(“100”);
List postTitles=driver.findElements(By.className(“hlFld Title”);
对于(int i=0;i
实现了此逻辑,成功执行,没有错误
List<WebElement> linkElements=driver.findElements(By.xpath("************"));
String[] linkTitles = new String[linkElements.size()];
int i = 0;
//extract the link texts of each link element
for (WebElement e : linkElements)
{
linkTitles[i] = e.getText();
i++;
}
//Test each link
for (String t : linkTitles)
{
// Titles Click
driver.findElement(By.linkText(t)).click();
System.out.println("\n"+ driver.getTitle());
Thread.sleep(7000);
driver.findElement(By.linkText("Heading Notes")).click();
System.out.println(driver.findElement(By.xpath("*****")).getText());
System.out.println(driver.getCurrentUrl());
driver.navigate().back();
driver.navigate().back();
Thread.sleep(7000);
}
List linkElements=driver.findElements(By.xpath(“***********”);
String[]linkTitles=新字符串[linkElements.size()];
int i=0;
//提取每个链接元素的链接文本
for(WebElement e:linkElements)
{
linkTitles[i]=e.getText();
i++;
}
//测试每个链接
用于(字符串t:linkTitles)
{
//标题点击
driver.findElement(By.linkText(t)).click();
System.out.println(“\n”+driver.getTitle());
睡眠(7000);
driver.findElement(By.linkText(“标题注释”))。单击();
System.out.println(driver.findElement(By.xpath(“****”)).getText();
System.out.println(driver.getCurrentUrl());
driver.navigate().back();
driver.navigate().back();
睡眠(7000);
}
全新,您必须编写Selenium测试?还有您的问题是什么?您可能需要阅读代码中的错误,并清楚地指出您不需要完整代码的内容。嗨,Chandra Shekar:只打印第一个标题,并且能够检查标题中的标题共享到页面的链接?修改后,我准备了这个标题.Friends请查看错误:线程“main”org.openqa.selenium.StaleElementReferenceException中的异常:缓存中未找到元素-可能页面在查找后已更改
for (int j = 0; j < 6; j++)
{
WebElement value = driver.findElement(By.id("numberOfResults"));
Select selectElement = new Select(value);
selectElement.selectByValue("100");
List<WebElement> postTitles = driver.findElements(By.className("hlFld-Title"));
for(int i = 0; i < postTitles.size(); i++) {
system.out.println(postTitles.get(i).getText());
driver.manage().timeouts().implicitlyWait(20, TimeUnit.SECONDS);
driver.findElement(By.linkText(postTitles.get(i).getText())).click();
driver.findElement(By.linkText("HEADING")).click();
System.out.println(driver.getCurrentUrl());
driver.navigate().back();
driver.navigate().back();
}
List<WebElement> linkElements=driver.findElements(By.xpath("************"));
String[] linkTitles = new String[linkElements.size()];
int i = 0;
//extract the link texts of each link element
for (WebElement e : linkElements)
{
linkTitles[i] = e.getText();
i++;
}
//Test each link
for (String t : linkTitles)
{
// Titles Click
driver.findElement(By.linkText(t)).click();
System.out.println("\n"+ driver.getTitle());
Thread.sleep(7000);
driver.findElement(By.linkText("Heading Notes")).click();
System.out.println(driver.findElement(By.xpath("*****")).getText());
System.out.println(driver.getCurrentUrl());
driver.navigate().back();
driver.navigate().back();
Thread.sleep(7000);
}