我有一个 Azure Web 应用程序,当我在控制器上调用操作时,我想用它来屏幕抓取网站,如下所示。
var driver = new PhantomJSDriver();
driver.Url = "http://url.com";
driver.Navigate();
var source = driver.PageSource;
var pathElement = driver.FindElementByXPath("//table[@class='someclassname']");
string innerHtml = "";
IJavaScriptExecutor js = driver as IJavaScriptExecutor;
if (js != null)
{
innerHtml = (string)js.ExecuteScript("return arguments[0].innerHTML;", pathElement);
}
return innerHtml;
这在本地工作正常,但是当我上传到我的 Azure Web 应用程序时,出现此错误
无法启动驱动程序服务http://本地主机:51169/ http://localhost:51169/
我认为这与防火墙有关,因为应用程序第一次运行时我需要在防火墙设置中批准 PhantomJS。我的问题是如何让它在 Azure 中部署?是否有可能,或者我是否需要将其配置为某些单元测试并从 Visual Studio 中运行它?
PhantomJS 目前无法在 Azure Web Apps 运行的沙箱中运行。请参阅wiki https://github.com/projectkudu/kudu/wiki/Azure-Web-App-sandbox#unsupported-frameworks获取当前已知无法工作的内容列表,以及有关沙箱的许多其他信息。
本文内容由网友自发贡献,版权归原作者所有,本站不承担相应法律责任。如您发现有涉嫌抄袭侵权的内容,请联系:hwhale#tublm.com(使用前将#替换为@)