我正在运行一个无头硒脚本,该脚本两次对重定向的URL进行ping操作(第一次获取Cookie,第二次获取最终URL)。我的目的是在链接列表上运行脚本并获取每个最终URL。这在我的本地PC上很好用,但是在Google Cloud上,我是从第一次ping获得URL。
例如本地 在http://www.XXXXX.com/dl/1638上运行函数将返回https://www.XXXXX.com/#/AC/B1/C172/D1/E41932836/F2
例如Google Cloud 在http://www.XXXXX.com/dl/1638上运行函数将返回https://www.XXXXX.com/deeplink=1
我试图在每个driver.get(url)请求之间插入time.sleep,以给处理器腾出时间跳转到下一个请求,但是在GCP上运行脚本时,这仍然没有给我最终的URL。
def GetPageResponse(url):
options = Options()
options.headless = True
driver = webdriver.Chrome(options=options)
driver.get(url) #hit first time to get cookies
time.sleep(1)
driver.get(url) #hit second time to get redirected to final link
time.sleep(1)
url = driver.current_url
return url