2017-09-15 102 views
1

我已經編寫了一個使用Selenium.WebDriver.ChromeDriver的C#Azure雲服務,但在將它部署到Azure時無法正常工作(本地它運行良好 - 可能是因爲我安裝了Chrome)。 我使用我的服務部署chromedriver.exe,但由於找不到chrome.exe而失敗。 我試過部署chrome.exe的副本,但沒有奏效。我也嘗試添加GoogleChrome nuget包,但這也不起作用。如何獲得使用ChromeDriver在Azure雲服務中工作的C#azure服務

任何人都知道一種方法來獲得使用Selenium/Chromedriver工作的C#天藍色服務?

回答

2

三件事情你需要得到這個在一個藍色的cloudservice包含在CloudService /角色/角色目錄

  • ChromeSetup.exe檔案文件運行
  • 在服務定義文件中的行調用運行上述文件
  • 這包括在你的Worker角色的項目啓動腳本

要添加ChromeSetup.exe檔案,右鍵點擊你的角色好處名的啓動腳本運行雲服務,只需「添加項目」並查找最後下載Chrome安裝程序的位置。從下面最近的一個項目的例子 -

Example of Where to Add ChromeSetup.exe from recent project

啓動任務是通過進入ServiceDefinition.cdef文件添加。

<WorkerRole name="WebReportDownloader" vmsize="Small"> 
<Startup> 
    <Task commandLine="Initialization\Startup.cmd" executionContext="elevated" taskType="simple"> 
    <Environment> 
     <Variable name="MyVersionNumber" value="1.0.0.0" /> 
    </Environment> 
    </Task> 
</Startup> 

上述任務調用的腳本是非常簡單和記錄任何東西到一個文本文件是從我的閱讀可選:

ECHO The current version is %MyVersionNumber% >> "%TEMP%\StartupLog.txt" 2>&1 
START ChromeSetup.exe 
EXIT /B 0 

希望這可以節省你一些我跑進而拼湊的悲痛幾個資源...

1

我發現了另一種方式做到這一點,而無需安裝Chrome - 而不是使用Chrome我最終使用Chromium。

爲此,我剛剛下載的存檔鉻從https://chromium.woolyss.com/download/則已經將其解壓到我的二進制文件目錄 - 這仍然具有的chrome.exe二元但並不需要安裝