首页
学习
活动
专区
圈层
工具
发布
社区首页 >问答首页 >带有Selenium WebDriver错误的Azure

带有Selenium WebDriver错误的Azure
EN

Stack Overflow用户
提问于 2020-01-21 01:31:58
回答 1查看 232关注 0票数 0

我已经成功地将我的应用程序部署到Azure Web App。它使用Selenium WebDriver和Chrome (一个便携版本,因为我需要二进制文件),但是当我尝试使用这个组件时,我得到了以下错误:

代码语言:javascript
复制
OpenQA.Selenium.WebDriverException: unknown error: Chrome failed to start: exited normally
(unknown error: DevToolsActivePort file doesn't exist)
(The process started from chrome location D:\home\site\wwwroot\Portable\GoogleChromePortable.exe

我已经尝试了我在互联网上看到的所有东西,但是如果我用这个参数--remote-debugging option=XXXX解决这个消息,那么我会得到以下错误:

代码语言:javascript
复制
OpenQA.Selenium.WebDriverException: unknown error: Chrome failed to start: exited normally
  (chrome not reachable)

我猜这是因为此端口在Azure中未打开...

有人曾经面对过这个问题,并且已经解决了吗?

Pd:在本地环境(我的pc或自己的服务器)中,它可以工作。

EN

回答 1

Stack Overflow用户

发布于 2020-01-22 23:59:55

这个问题是由于Azure WebApps沙箱的限制--标准的/本地的Azure Web应用程序运行在一个称为沙箱的安全环境中。每个应用程序都在自己的沙箱中运行,将其执行与同一台计算机上的其他实例隔离开来,并提供了原本无法获得的额外程度的安全性和隐私性。您可以在您的场景中利用基于容器的Azure应用程序服务。

添加有关此主题的更多信息:

如本文所述- Azure Web App sandbox -不支持的框架-PhantomJS/Selenium:尝试连接到本地地址,也使用GDI。

通过互联网访问应用程序的唯一方式是通过已经公开的HTTP (80)和HTTPS (443) TCP端口;应用程序可能不会在其他端口上侦听来自互联网的数据包。

如果您的应用程序使用任何COM组件,则需要用托管代码重写这些组件,并与站点或应用程序一起部署。此外,如果您的应用程序不能直接迁移到应用程序服务,请考虑使用Windows容器的应用程序服务,它允许使用GAC、COM组件、MSI、对.NET FX API、DirectX等的完全访问。

有关此主题的更多详细信息,请查看以下文档:

Run a custom Linux container in Azure App Service

Run a custom Windows container in Azure (Preview)

票数 0
EN
页面原文内容由Stack Overflow提供。腾讯云小微IT领域专用引擎提供翻译支持
原文链接:

https://stackoverflow.com/questions/59828311

复制
相关文章

相似问题

领券
问题归档专栏文章快讯文章归档关键词归档开发者手册归档开发者手册 Section 归档