Warning: file_get_contents(/data/phpspider/zhask/data//catemap/2/csharp/265.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
C#Selenium在打开PDF链接后找不到标题_C#_Selenium - Fatal编程技术网

C#Selenium在打开PDF链接后找不到标题

C#Selenium在打开PDF链接后找不到标题,c#,selenium,C#,Selenium,我做了一个简单的Selenium测试,点击一个PDF链接,然后验证页面的标题是否正确。我在GoogleChrome中运行这个,在检查页面时,我可以看到它有一个标题(XPath:/html/head/title) 但是,测试失败了,因为driver.Title始终是一个空字符串,当我试图用XPath查找页面的标题/页眉时,我得到了一个NoTouchElementException。在后端,它只是一个返回文件的路由: public ActionResult GeneratePDF() { ..

我做了一个简单的Selenium测试,点击一个PDF链接,然后验证页面的标题是否正确。我在GoogleChrome中运行这个,在检查页面时,我可以看到它有一个标题(XPath:/html/head/title)

但是,测试失败了,因为driver.Title始终是一个空字符串,当我试图用XPath查找页面的标题/页眉时,我得到了一个NoTouchElementException。在后端,它只是一个返回文件的路由:

public ActionResult GeneratePDF()
{
   ...
   return File(pdf, "application/pdf");
}

该链接打开了一个新选项卡,但我已导航到该选项卡中的其他页面,并能够验证驱动程序。标题不是空字符串。我也试着等待,但还是找不到标题。页面只是一个头部和一个带有pdf查看器的主体。除了Firefox兼容性问题外,我还没有看到任何人在查找标题空白时遇到问题。作为一种解决方法,我只是检查url,但我更愿意检查标题以确保页面正在加载。我只是不知道为什么驱动程序找不到它。

我想PDF是在Chrome浏览器窗口中打开的?是的,这会阻止Selenium像普通网页一样阅读它吗?可能吧。PDF不是HTML文档,因此浏览器可能使用其他组件来显示PDF,并且可能是Selenium无法与之交互的组件。检查PDF上的元素,看看它是否作为右键单击上下文菜单中的选项可用。当我检查页面时,它看起来像一个非常普通的html页面,带有html、head和body标记。标题在我预期的头部内,包含预期的文本。它看起来很正常,但一定不是,因为硒不能正常与它相互作用。目标