我一直坚持这个错误"Caused by: java.lang.IllegalStateException: The driver is not executable: /var/task/chromedriver"
当我将我的jar项目部署到aws lambda函数中时。该项目在我的本地机器上工作正常,但似乎aws由于某种原因无法执行chromedriver。
我的chromedriver文件放在资源文件夹中。
以下是我的测试配置文件:
@Configuration
public class TestConfig {
private static final Logger l = LoggerFactory.getLogger(TestConfig.class);
private String chromeDriver = org.apache.commons.lang.SystemUtils.IS_OS_WINDOWS ? "chromedriver.exe" : "chromedriver" ;
public WebDriver getDriver(){
URL resource = getClass().getClassLoader().getResource(chromeDriver);
String chromePath = null;
try {
chromePath = Paths.get(resource.toURI()).toString();
} catch (URISyntaxException e) {
l.info("cannot find chromedriver in resources");
}
System.setProperty("webdriver.chrome.driver", chromePath);
return new ChromeDriver();
}
}
我有chromedriver和chromedriver.exe,我试过chmod 777文件,但没有成功。
答案 0 :(得分:0)
Lambda的限制为300秒,内存限制为1536MB。
尝试在lambda函数中启动chromedriver是一种非常糟糕的方法。您应该做的是设置Selenium网格,然后使用RemoteWebDriver在远程计算机中启动Chrome浏览器