在Azure Web App上运行Selenium

Isa*_*vin 12 c# phantomjs asp.net-web-api azure-web-sites selenium-webdriver

我有一个Azure Web应用程序,当我在控制器上调用Action时,我想用它来屏幕抓取网站,就像这样.

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;
Run Code Online (Sandbox Code Playgroud)

这在本地工作正常,但是当我上传到我的Azure Web App时,我收到此错误

无法在http:// localhost:51169 /上启动驱动程序服务

我认为这有,因为我需要批准PhantomJS在我的防火墙设置中的首次应用程序运行与防火墙做.我的问题是如何在Azure中部署这个工作?它是否可能,或者我是否需要将其配置为单元测试并在Visual Studio中运行?

Dav*_*bbo 9

PhantomJS今天在Azure Web Apps运行的沙箱中不起作用.请参阅Wiki以获取当前已知不可用的内容列表,以及有关沙箱的许多其他信息.