python - Selenium:与 AWS Lambda 首次成功连接后连接被拒绝
问题描述
在使用 Python 3.6 成功部署 AWS Lambda + REST API Selenium 程序包并对其进行测试(HTTP 请求或直接从 Lambda 仪表板)后,我无法再次执行脚本并显示错误[Errno 111] Connection refused"
。
我可以解决此问题的唯一方法是更改仪表板中的随机配置,例如分配的内存、PATH 或并发设置。换句话说,我必须手动重新部署整个 Lambda 包才能让它再次工作。
我已经用谷歌搜索了几个小时,似乎该错误与已在使用的端口有关,但我的 Python 脚本driver.close()
在 return 命令之前结束,所以我看不到这是从哪里来的。每次执行我的脚本时,有没有办法手动重新部署 lambda 包?甚至更好:我该如何解决这个问题?
以下是我使用的所有选项:
hrome_options.add_argument('--disable-extensions')
chrome_options.add_argument('--allow-insecure-localhost')
chrome_options.add_argument('--headless')
chrome_options.add_argument('--no-sandbox')
chrome_options.add_argument('--disable-gpu')
chrome_options.add_argument('--user-data-dir=/tmp/user-data')
chrome_options.add_argument('--enable-logging')
chrome_options.add_argument('--ignore-certificate-errors')
chrome_options.add_argument('--window-size=1280,1000')
chrome_options.add_argument('--allow-running-insecure-content')
chrome_options.add_argument('--no-sandbox')
chrome_options.add_argument('--log-level=0')
chrome_options.add_argument('--v=99')
chrome_options.add_argument('--single-process')
chrome_options.add_argument('--data-path=/tmp/data-path')
chrome_options.add_argument('--ignore-certificate-errors')
chrome_options.add_argument('--homedir=/tmp')
chrome_options.add_argument('--disk-cache-dir=/tmp/cache-dir')
chrome_options.add_argument('user-agent=Mozilla/5.0 (X11; Linux x86_64) AppleWebKit/537.36 (KHTML, like Gecko) Chrome/61.0.3163.100 Safari/537.36')
chrome_options.binary_location = os.getcwd() + "/bin/headless-chromium"
driver = webdriver.Chrome(chrome_options=chrome_options)
dynamo = boto3.client('dynamodb')
解决方案
您可能想尝试一下driver.quit()
,因为driver.close()
通常不足以终止WebDriver
会话。
该driver.close
函数仅关闭当前焦点所在的浏览器窗口。该driver.quit
函数调用内部driver.dispose
函数,关闭所有浏览器窗口,然后优雅地终止WebDriver
会话。
推荐阅读
- java - 连接被拒绝:尝试在本地连接外部服务时出现连接错误
- python - 在保留分隔符的同时将 Python 中的字符串拆分为数组
- mysql - WPForms 使用 SQL 与 WPDatatables 集成
- wix - MSI 安装期间未评估功能状态
- azure - 当应用程序注册中的应用程序对象发生更改时,如何更新从它提供的服务主体
- python - BeautifulSoup 查找包含文本的标签
- python - 为什么单击 Selenium 后网站无法加载?
- codeigniter-4 - 错误异常 - 包括(资产/grocery_crud/languages/english.php):无法打开流:没有这样的文件或目录
- swift - Swift CurrencyText 库对 Double 的财务值进行舍入不正确
- xcode - 错误 ITMS-90771 缺少 info.plist 值