背景信息: 我目前已经使用 Chromedriver 构建了一个屏幕抓取工具来屏幕抓取网站,这只是一个控制台应用程序。我现在想将此应用程序迁移到使用 Azure Service Fabric,因为它在可扩展性方面有很多好处。
问题: 我已将屏幕抓取工具转换为使用 Azure Service Fabric 无状态服务,并且它在我的本地开发环境中运行。唯一的问题是我无法再看到屏幕抓取工具以交互方式运行,因为它不会打开 Chrome 浏览器并导航到不同的页面。我知道屏幕抓取工具仍在运行,因为它返回了我期望的屏幕抓取数据。最初我认为该服务运行的是用户,因为它使用“网络服务”帐户运行。我使用以下代码将其更改为在我自己的域用户下运行:
<Principals>
<Users>
<User Name="SfUser" AccountName="Domain\UserName" AccountType="DomainUser" Password="pass" />
</Users>
</Principals>
<Policies>
<DefaultRunAsPolicy UserRef="SfUser" />
</Policies>
它仍然不能交互运行。有什么想法吗?
这实际上不是服务结构问题。如果您从非交互模式启动 selenium 驱动程序,那么您将看不到浏览器。可能是更改服务以触发命令行然后运行selenium?
那么没有办法从服务中以非交互模式启动 selenium 驱动程序吗?