Использование Selenium Chromedriver в AWS Lambda с использованием C # - PullRequest
0 голосов
/ 13 мая 2019

Я хочу использовать Selenium Chromedriver в лямбда-функции AWS с использованием C #, но мне не очень повезло ... Первоначальная ошибка, которую я получал, заключалась в том, что "chromedriver.exe не существует в / tmp /".Использование Webdrivermanager помогло мне справиться с этой ошибкой, но теперь у меня возникают проблемы с разрешениями «Доступ к пути» / tmp / «запрещен».

Я отключил свои пальцы и попробовал несколько способов получить этоработать.Могу поспорить, это что-то маленькое, что мне не хватает.

Любая помощь будет принята с благодарностью.

using System.Collections.Generic;
using Amazon.Lambda.Core;
using OpenQA.Selenium;
using OpenQA.Selenium.Chrome;
using WebDriverManager; 

public class Function
{
    public void FunctionHandler(string input, ILambdaContext context)
    {
        var driver = GetDriver();
        driver.Navigate().GoToUrl(input);
        driver.Quit();
    }

    public IWebDriver GetDriver()
    {
        new DriverManager().SetUpDriver(
            "http://chromedriver.storage.googleapis.com/75.0.3770.8/chromedriver_win32.zip", 
            "/tmp/", 
            "chromedriver.exe"
        );

        ChromeOptions options = new ChromeOptions();
        options.AddArguments(new List<string>() {
            "--no-sandbox",
            "--headless",
            "--disable-gpu",
            "--homedir=/tmp"
        });
        return new ChromeDriver("/tmp/", options);
    }
}

1 Ответ

0 голосов
/ 13 мая 2019

Просмотр страницы AWS Lambda Runtime

Операционная система - Amazon Linux

AMI - amzn-ami-hvm-2017.03.1.20170812-x86_64-gp2

ядро ​​Linux - 4.14.77-70.59.amzn1.x86_64

Поэтому я считаю, что вы должны использовать Linux Chromedriver , чтобы заменить эту строку:

http://chromedriver.storage.googleapis.com/75.0.3770.8/chromedriver_win32.zip

с этим:

https://chromedriver.storage.googleapis.com/75.0.3770.8/chromedriver_linux64.zip

и, возможно, chromedriver.exe всего с chromedriver

Если вы собираетесь инвестировать в облачную автоматизацию веб-браузера, может быть проще обратиться к специализированной службе, такой как Saucelabs или Experitest

Добро пожаловать на сайт PullRequest, где вы можете задавать вопросы и получать ответы от других членов сообщества.
...