对于 scrapy/selenium 是否有返回上一页的方法?

For scrapy/selenium is there a way to go back to a previous page?

我基本上有一个 start_url,它有我的 javascript 搜索表单和按钮,因此需要 selenium。我使用 selenium select 我的 select 框对象中的适当项目,然后单击搜索按钮。接下来的页面,我做了一些 scrapy 魔术。但是,现在我想回到原来的 start_url 并填写不同的对象等,然后重复直到不再。

基本上,我已经尝试制作一个 for 循环并试图让浏览器返回到原始 response.url,但不知何故它崩溃了。我可能会尝试在顶部有一个 start_url 的重复列表,以便 scrapy 解析,但我不确定这是否是最好的方法。在我的情况下我能做什么?

这里建议使用driver.back() : https://selenium-python.readthedocs.io/navigating.html#navigation-history-and-location

要在浏览器的历史记录中前后移动,请使用

driver.forward()
driver.back()

当前选择的答案向外部站点提供 link,但 link 已损坏。硒文档谈论

driver.forward()
driver.back()

但这些有时会失败,即使您明确使用了一些等待函数。

我找到了更好的解决方案。您可以使用以下命令向后导航。

driver.execute_script("window.history.go(-1)")

希望这对以后的其他人有所帮助。