![](/img/trans.png)
[英]"[CRITICAL] WORKER TIMEOUT" in logs when running "Hello Cloud Run with Python" from GCP Setup Docs
[英]Issue when running Python script with Selenium over GCP Cloud Run
我有这个 python 脚本,我需要在其中登录并从身份验证服务器检索 access_token,过程如下,使用给定的 URL 导航到身份验证服务器,在相应字段中嵌入给定的用户名和密码,单击“登录”, access_token应该在刷新后的URL中,所以等待5秒再取出更新后的URL,切片得到access_token。
在我的本地机器上,我能够检索令牌并成功完成脚本。
但是,我想将此脚本部署到 Cloud Run,因此我创建了 DockerFile 和 python 依赖项“requirment.txt”,我认为这是准确的。
整个部署完成后,我尝试像往常一样从 Cloud Scheduler 运行服务,但出现此错误
selenium.common.exceptions.NoSuchElementException: Message: no such element: Unable to locate element: {"method":"css selector","selector":"[id="email"]"}
我想通了,显然,我的隐式等待不会在 GCP 上被捕获,但会在我的本地工作,这很奇怪,我需要实现一个显式的 - 一行这样的。
from selenium.webdriver.support import expected_conditions as EC
from selenium.webdriver.common.by import By
from selenium.webdriver.support.ui import WebDriverWait
WebDriverWait(browser, 50).until(EC.presence_of_element_located((By.ID, "app")))
基本上它所做的就是等到刷新页面并返回下一页中的元素以将 URL 变量提供给我的代码的切片部分。
声明:本站的技术帖子网页,遵循CC BY-SA 4.0协议,如果您需要转载,请注明本站网址或者原文地址。任何问题请咨询:yoyou2525@163.com.