与Chrome / Firefox会话的PhantomJS会话

时间:2017-04-23 11:44:50

标签: python http selenium cookies python-requests

PYTHON 3 +

嗨,

我在这里向你的帮助人员询问以下问题,只是一些介绍:我正在自动化一个商店流程,并且它在PhantomJS会话上工作正常,感谢Selenium,我正在获取步骤的截图,它确切地说我想要它做什么。

问题是我正在尝试将此PhantomJS会话发送到Chrome / Firefox会话以使其可由我自己访问而我实际上并不是如何做到这一点,我尝试了多次使用Cookie,但我没有得到我想要的。 请注意,Cookie会随身携带我想要的所有内容,我尝试使用Chrome会话进入另一个会话并且有效。

编辑:抱歉,忘记了:我想要做的是将这些Cookie从PhantomJS会话导入Chrome / Firefox会话。

这是我的代码:

driver=webdriver.PhantomJS(executable_path=path)
driver.set_window_size(1024, 768)
driver.get(url)

sbtn=WebDriverWait(driver,30).until(
EC.presence_of_element_located((By.CSS_SELECTOR,'button.add-to-cart.addtocartbutton.button-atb.button-full-width.btn.btn-cart.btn-lg.btn-block'))
)
sbtn.click()

print(driver.title)
driver.save_screenshot("screen.png")

time.sleep(5)

driver.save_screenshot("screen2.png")

sbtn2=WebDriverWait(driver,30).until(
EC.presence_of_element_located((By.CSS_SELECTOR,'a.co-btn_primary.btn_showcart_cta.button-primary.bp-black.light-back.button-full-width.button-forward.btn.btn-cart.btn-block'))
)
sbtn2.click()

print(driver.title)
driver.save_screenshot("screen3.png")

cookies=driver.get_cookies()

r=requests.get(driver.current_url, cookies=cookies)
print(r.text)

webbrowser.open(driver.current_url, new=2)

请注意,所有模块都是右导入的,路径是在上面定义的。

Edit_2 :url也在上面定义。我也尝试使用chromedriver.exe,它立即停止工作。

感谢阅读,希望你得到(我的)anwser(s)!

1 个答案:

答案 0 :(得分:0)

我最后用Chrome而不是PhantomJS做了这件事,我遇到了与Chrome等版本兼容的问题,但最后我做到了,没关系。