【发布时间】:2020-12-11 04:59:32
【问题描述】:
尝试使用driver.navigate().to('https://example.com')
错误:
AttributeError: 'WebDriver' 对象没有属性 'navigate'
确实如此——这个网站上到处都提到过。
我不想使用 get(),因为我希望在会话中使用 persist 的 cookie。
【问题讨论】:
-
cookies 没有区别。
-
@pcalkins 这里有几个答案解释有区别
-
他们混合了一个不允许添加书签的单页应用程序(真的是不好的做法......他们应该使用哈希......)与 Selenium 功能。
-
许多网站都在使用单页架构,不允许使用“后退”按钮或为特定页面添加书签。这是因为他们没有更新 DOM 更改的 URL。他们可以通过在 url 中使用“#”来避免这种情况(它像书签一样处理,因此页面不会更改)并使用哈希后的值作为名称/值对来触发 hashchange 事件处理程序。不管这与 Selenium 或您是否使用 .get() 或 .navigate() 无关
-
规范似乎有所不同,但我不确定我是否理解:w3.org/TR/webdriver/#navigate-to 不过这些都不应该影响 cookie。值得注意的是,有些服务器会做路由,这可以使不同的路径加载相同的页面,但会触发不同的 DOM 更新。 (“/”实际上与“#”相同)