我制作了一个selenium WebDriver脚本,用于查找网页中存在的面包屑的Meta标签。但这个元标记为" Home"页面(第一个痕迹)在调试模式下不可见,而在源代码(ctrl + U)上可见。其余面包屑的元标记在调试模式下可见。脚本无法找到" Home"的元标记。这是否意味着Selenium Webdriver脚本仅适用于通过调试模式可见的代码?有什么方法可以解决这个问题吗?
以下是Meta标签,它在调试模式下不可见,但在源代码中可见:
<meta itemprop="position" content="1" />
要测试的网址: https://www.ennovatesoftware.com/en-gb/international-courier-services/tanzania-parcel-delivery
List <WebElement> breadcrumbs=null;
driver.get("https://www.ennovatesoftware.com/en-gb/international-courier-services/tanzania-parcel-delivery");
breadcrumbs = driver.findElements(By.xpath("//*@id='newBreadCrumb']/div/ul/li"));
if(breadcrumbs.size()==0)
{System.out.println("No BreadCrumbs present");
continue;
}
else
{
try{
if(driver.findElement(By.xpath("//*[@id='newBreadCrumb']/div/ul")).getAttribute("itemtype").equals("http://schema.org/BreadcrumbList"))
{
for (WebElement W: breadcrumbs)
{
bc=bc+1;
try{
if( Integer.parseInt( W.findElement(By.tagName("meta")).getAttribute("content"))==bc && W.findElement(By.tagName("meta")).getAttribute("itemprop").equals("position"))
p=p+1;
}
catch(Exception e)
{}
}
}
}
catch(Exception e)
{System.out.println("Fail");}
}
if(p==bc)
System.out.println("Pass");
else
System.out.println("Fail");