Inv*_*nvy 59 java webdriver time-wait selenium-webdriver
get()和navigate()方法有什么区别?是否有任何此方法或其他方法等待加载页面内容?我真正需要的是像selenium WaitForPageToLoadWaitForPageToLoad webdriverwebdriver` 这样的东西.
有什么建议?
Mat*_*all 100
导航
你想要用WebDriver做的第一件事就是导航到一个页面.通常的方法是调用
get:Run Code Online (Sandbox Code Playgroud)driver.get("http://www.google.com");
onload在将控件返回到测试或脚本之前,WebDriver将等待页面完全加载(即事件已触发).值得注意的是,如果您的页面在加载时使用了大量AJAX,那么WebDriver可能不知道它何时完全加载.如果您需要确保这些页面已满载,那么您可以使用waits.导航:历史和位置
之前,我们介绍了使用
get命令导航到页面(driver.get("http://www.example.com"))正如您所见,WebDriver有许多较小的,以任务为中心的界面,导航是一项有用的任务.因为加载页面是一个基本要求,所以这样做的方法存在于主WebDriver接口上,但它只是一个同义词:Run Code Online (Sandbox Code Playgroud)driver.navigate().to("http://www.example.com");重申:
navigate().to()并get()做同样的事情.一个比另一个更容易打字!该
navigate接口也暴露向后移动浏览器的历史记录的功能并转发:Run Code Online (Sandbox Code Playgroud)driver.navigate().forward(); driver.navigate().back();
(重点补充)
Man*_*anu 17
他们似乎都导航到给定的网页并引用@matt答案:
navigate().to()并get()做同样的事情.
单页应用程序是一个例外.
这两种方法之间的区别不在于它们的行为,而在于应用程序的工作方式以及浏览器如何处理它.
navigate().to() 通过更改URL来导航到页面,例如进行前进/后退导航.
然而,get()刷新页面以更改URL.
因此,在应用程序域更改的情况下,该方法的行为类似.也就是说,在两种情况下刷新页面.但是,在单页面应用程序中,虽然navigate().to()不刷新页面,get()但是.
此外,这是浏览器历史记录get()因使用应用程序刷新而丢失的原因.
最初回答:https://stackoverflow.com/a/33868976/3619412
Arp*_*ini 10
driver.get():它曾经用于去特定的网站,但是它没有维护浏览器历史记录和cookies所以,我们不能使用前进和后退按钮,如果我们点击它,页面将无法获得时间表
driver.navigate():它用于访问特定网站,但它维护浏览器历史记录和cookie,因此我们可以使用前进和后退按钮在Testcase编码期间在页面之间导航