我的硒会话没有得到正确的 cookie

时间:2021-01-11 23:12:59

标签: python-3.x selenium cookies

我的 selenium 脚本在 aws lambda 中运行。 问题是我有这个网页,我必须登录才能访问所需的数据和所有流程,但并非总是如此,我的意思是 selenium 传递密码和用户名,单击按钮登录,驱动程序应该访问到所需页面,但这并不总是发生,我打印驱动程序的 cookie,当登录工作正常时,有 20 个 cookie,但如果没有,则只有 3 个 cookie。 与我的问题相关的另一件事是,如果我做这样的事情。

虚拟示例:

def my_lambda_handler(event, context):
"""
all my selenium process
"""
try:
    #some code
except Exception as e:
    driver.quit
    return {}

data = my_lambda_handler(
    event={the data of my event},
    context={}
)

while data == {}:
    data = my_lambda_handler(
    event={the data of my event},
    context={}
    )

print(data)

所以,当我使用这个 while 循环时,我总是在第一次尝试 while 循环时得到正确的数据。但是如果我在 lambda 处理程序中尝试登录,而不是像在 while 循环中那样调用 lambda 处理程序,则它不起作用。

这是我的 webdriver 选项 (chrome)

options.binary_location = '/opt/headless-chromium'
options.add_argument('--headless')
options.add_argument("--user-data-dir=/tmp")
options.add_argument('--no-sandbox')
options.add_argument('--single-process')
options.add_argument('--disable-dev-shm-usage')

0 个答案:

没有答案