driver.get(url) 与 driver.navigate().to(url);
driver.get(url) vs driver.navigate().to(url);
Google的回答:
get() 用于导航特定的 URL(网站)并等待页面加载。 driver。 navigate() 用于导航到特定的 URL 并且不等待页面加载。
硒文档:
文档的document.readyState属性描述了当前文档的加载状态。默认情况下,WebDriver 将推迟响应 driver.get()(或)driver.navigate().to() 调用,直到文档就绪状态完成
我的查询在 Google 据说,navigate 方法不会等到页面加载,这与 Selenium 文档中添加的点不一致。
请帮助我理解。
当运行脚本执行时,我们做的第一件事是打开浏览器并加载网页。我们通常使用 driver.get(“url”);
来加载网页。每次我们使用这个命令,页面都会刷新。
我们也可以使用driver.navigate().to(“url’);
加载网页。这两个命令在行为方面的工作方式相同。但是 navigate().to()
也有其他功能,例如 navigate().forward()
、navigate().back()
和 navigate().refresh()
。
所以不同之处在于 driver.get()
从不存储历史记录,而 driver.navigate().to()
存储浏览器历史记录以便用于向前和向后的其他命令等。
在单页应用程序中,当 navigate().to()
像 forward/backward 一样通过更改 URL 导航到页面时,get()
刷新页面。
更多信息在这里 - Difference between webdriver.get() and webdriver.navigate()
简单来说get() method in the WebDriver interface extends the SearchContext定义为:
/**
* Load a new web page in the current browser window. This is done using an HTTP POST operation,
* and the method will block until the load is complete.
* This will follow redirects issued either by the server or as a meta-redirect from within the
* returned HTML.
* Synonym for {@link org.openqa.selenium.WebDriver.Navigation#to(String)}.
*/
void get(String url);
因此您可以使用:
driver.get("https://www.google.com/");
另一方面,navigate() is the abstraction which allows the 实例,即 driver
访问浏览器的历史记录以及导航到给定的 URL。方法和使用方法如下:
to(java.lang.String url)
: 在当前浏览器中加载新网页window.
driver.navigate().to("https://www.google.com/");
to(java.net.URL url)
:to(String) 的重载版本,可以轻松传入 URL.
refresh()
:刷新当前页面。
driver.navigate().refresh();
back()
:在浏览器的历史记录中向后移动一个“项目”。
driver.navigate().back();
forward()
: 在浏览器的历史记录中向前移动一个“项目”。
driver.navigate().forward();
Google的回答: get() 用于导航特定的 URL(网站)并等待页面加载。 driver。 navigate() 用于导航到特定的 URL 并且不等待页面加载。
硒文档: 文档的document.readyState属性描述了当前文档的加载状态。默认情况下,WebDriver 将推迟响应 driver.get()(或)driver.navigate().to() 调用,直到文档就绪状态完成
我的查询在 Google 据说,navigate 方法不会等到页面加载,这与 Selenium 文档中添加的点不一致。 请帮助我理解。
当运行脚本执行时,我们做的第一件事是打开浏览器并加载网页。我们通常使用 driver.get(“url”);
来加载网页。每次我们使用这个命令,页面都会刷新。
我们也可以使用driver.navigate().to(“url’);
加载网页。这两个命令在行为方面的工作方式相同。但是 navigate().to()
也有其他功能,例如 navigate().forward()
、navigate().back()
和 navigate().refresh()
。
所以不同之处在于 driver.get()
从不存储历史记录,而 driver.navigate().to()
存储浏览器历史记录以便用于向前和向后的其他命令等。
在单页应用程序中,当 navigate().to()
像 forward/backward 一样通过更改 URL 导航到页面时,get()
刷新页面。
更多信息在这里 - Difference between webdriver.get() and webdriver.navigate()
简单来说get() method in the WebDriver interface extends the SearchContext定义为:
/**
* Load a new web page in the current browser window. This is done using an HTTP POST operation,
* and the method will block until the load is complete.
* This will follow redirects issued either by the server or as a meta-redirect from within the
* returned HTML.
* Synonym for {@link org.openqa.selenium.WebDriver.Navigation#to(String)}.
*/
void get(String url);
因此您可以使用:
driver.get("https://www.google.com/");
另一方面,navigate() is the abstraction which allows the driver
访问浏览器的历史记录以及导航到给定的 URL。方法和使用方法如下:
to(java.lang.String url)
: 在当前浏览器中加载新网页window.driver.navigate().to("https://www.google.com/");
to(java.net.URL url)
:to(String) 的重载版本,可以轻松传入 URL.refresh()
:刷新当前页面。driver.navigate().refresh();
back()
:在浏览器的历史记录中向后移动一个“项目”。driver.navigate().back();
forward()
: 在浏览器的历史记录中向前移动一个“项目”。driver.navigate().forward();