我正在尝试保持Selenium浏览器打开并等待传递新信息。我正在使用网络服务器将url参数发送到我的计算机,这会触发Selenium脚本每次启动新实例。问题是每次访问网站时,我正在访问的网站都要求我登录,并且每10分钟最多只能登录3次。
有没有一种方法可以启动Selenium浏览器,保持实例打开,然后通过Web服务器传递新参数以利用浏览器实例?
答案 0 :(得分:0)
如果登录会话到期是问题,那么您可以使用cookie:
您可以在登录后使用此功能保存浏览器cookie:
viewWillAppear
稍后,当您要访问已登录的网站时,只需加载网站,注入cookie并重新加载,然后发现自己使用上一个会话登录
这是一个注入cookie的功能:
bgImage.motionEffects.forEach { bgImage.removeMotionEffect($0) }
您要执行的操作是这样:
import logging
def save_cookies(driver, store_cookies_file):
cookies = []
try:
cookies = driver.get_cookies()
with open(store_cookies_file, 'w') as file:
file.write(json.dumps(cookies))
print('Cookies saved to JSON file')
except Exception as e:
print('Could not save cookies to file')
logging.exception(e)
return cookies # return the cookies just in case you want to use them without reading from the saved file