Warning: file_get_contents(/data/phpspider/zhask/data//catemap/9/java/361.json): failed to open stream: No such file or directory in /data/phpspider/zhask/libs/function.php on line 167

Warning: Invalid argument supplied for foreach() in /data/phpspider/zhask/libs/tag.function.php on line 1116

Notice: Undefined index: in /data/phpspider/zhask/libs/function.php on line 180

Warning: array_chunk() expects parameter 1 to be array, null given in /data/phpspider/zhask/libs/function.php on line 181

Warning: file_get_contents(/data/phpspider/zhask/data//catemap/8/selenium/4.json): failed to open stream: No such file or directory in /data/phpspider/zhask/libs/function.php on line 167

Warning: Invalid argument supplied for foreach() in /data/phpspider/zhask/libs/tag.function.php on line 1116

Notice: Undefined index: in /data/phpspider/zhask/libs/function.php on line 180

Warning: array_chunk() expects parameter 1 to be array, null given in /data/phpspider/zhask/libs/function.php on line 181

Warning: file_get_contents(/data/phpspider/zhask/data//catemap/1/vue.js/6.json): failed to open stream: No such file or directory in /data/phpspider/zhask/libs/function.php on line 167

Warning: Invalid argument supplied for foreach() in /data/phpspider/zhask/libs/tag.function.php on line 1116

Notice: Undefined index: in /data/phpspider/zhask/libs/function.php on line 180

Warning: array_chunk() expects parameter 1 to be array, null given in /data/phpspider/zhask/libs/function.php on line 181
Java 如何收集应用程序中所有报表的标题_Java_Selenium_Selenium Webdriver_Automation - Fatal编程技术网

Java 如何收集应用程序中所有报表的标题

Java 如何收集应用程序中所有报表的标题,java,selenium,selenium-webdriver,automation,Java,Selenium,Selenium Webdriver,Automation,在此应用程序中:任务是逐个单击每个报告链接,并从报告页面获取报告的标题 因此,它会验证报告是否正确打开了数据 由于all报告中没有公共x路径,因此 为了捕获报告标题,我应用了一个通用的x路径:它为我提供了报告页面中标题的列表……后来我收集了索引为零的标题,即主标题 问题1:很少有报告显示:此x路径没有意义,它找不到任何内容……在这些报告中,存在“视图”按钮……单击“视图”打开报告 问题2:几乎没有标题格式是左右对齐的报告 根据我的密码:很难抓住他们……一共有4个 80份此类报告中的一份。其中x路

在此应用程序中:任务是逐个单击每个报告链接,并从报告页面获取报告的标题

因此,它会验证报告是否正确打开了数据

由于all报告中没有公共x路径,因此
为了捕获报告标题,我应用了一个通用的x路径:它为我提供了报告页面中标题的列表……后来我收集了索引为零的标题,即主标题

问题1:很少有报告显示:此x路径没有意义,它找不到任何内容……在这些报告中,存在“视图”按钮……单击“视图”打开报告

问题2:几乎没有标题格式是左右对齐的报告

根据我的密码:很难抓住他们……一共有4个 80份此类报告中的一份。其中x路径不提供任何内容,如中所示 附件 根据代码,捕获视图应该应用什么逻辑。。。。 使用页面工厂:

 @FindAll({
    @FindBy(how = How.XPATH, using = ".//table//tr[1]/th")
 })

public List<WebElement> view_ReportPDf_page;

 List<WebElement> lis= namedreportviewlinks;     
 ///// TO get the report links within 
 int count=0;
 for (int j = 0; j < lis.size(); j++) {
 WebElement e2 = lis.get(j);
 ((JavascriptExecutor) 
 driver).executeScript("arguments[0].scrollIntoView(true);",e2);

 e2.click();
 for (String winHandle : driver.getWindowHandles()) 
 {
 driver.switchTo().window(winHandle);
 }
 Thread.sleep(1000);
 List<WebElement> lis2= ld.view_ReportPDf_page;
 for(WebElement headers:lis2)
{
headers=lis2.get(0);
System.out.println(headers.getText()+"--------------------"+count);
break;
}
driver.close();
 count++;
 for (String winHandle : driver.getWindowHandles())
 {
  driver.switchTo().window(winHandle);
 }
 }
 ld.Dnetsubcategoryreport_backbutton.click();

 }
@FindAll({
@FindBy(how=how.XPATH,使用=“.//table//tr[1]/th”)
})
公共列表查看报告PDF页面;
List lis=namedreportviewlinks;
/////要在中获取报告链接,请执行以下操作:
整数计数=0;
对于(int j=0;j
  • 如果视图按钮位于th标记下,则可以使用findElements()方法检查该按钮是否存在。如果存在,请单击它,否则请单击报告链接。 e、 g

    if(driver.findElements(按.name(“视图”)).size>0) { //单击查看按钮的逻辑 } 其他的 { //点击报告链接 }

  • 如果报表表是页面上的唯一表,则可以使用标记名作为th来定位元素。(注意:所有报告链接应位于th标记下,然后可以应用此方法。)


  • 希望这有帮助

    上面显示的两个图像是:两个不同的报告页面。。。您可以像第一次单击链接1一样使用它们—打开最上面的报告,然后单击链接2—打开带有视图链接的第二个报告……两者之间的区别是:一个直接使用文本打开,而另一个使用“视图”链接打开,如图所示,单击它进一步在同一页面中打开类似的报告。因为我已经创建了一个通用的x路径来获取标题,我应该在两者之间实现什么逻辑来切换到视图链接?您可以应用类似的逻辑。切换到新打开的页面,验证是否存在查看链接,然后单击它,否则从新打开的报告页面获取文本。