浏览器导航
打开网站
启动浏览器后你要做的第一件事就是打开你的网站。这可以通过一行代码实现:
//Convenient driver.get("https://selenium.dev"); //Longer way driver.navigate().to("https://selenium.dev");
examples/java/src/test/java/dev/selenium/interactions/NavigationTest.java
package dev.selenium.interactions; import org.junit.jupiter.api.Test; import org.openqa.selenium.WebDriver; import org.openqa.selenium.chrome.ChromeDriver; import static org.junit.jupiter.api.Assertions.assertEquals; public class NavigationTest { @Test public void navigateBrowser() { WebDriver driver = new ChromeDriver(); //Convenient driver.get("https://selenium.dev"); //Longer way driver.navigate().to("https://selenium.dev"); String title = driver.getTitle(); assertEquals(title, "Selenium"); //Back driver.navigate().back(); title = driver.getTitle(); assertEquals(title, "Selenium"); //Forward driver.navigate().forward(); title = driver.getTitle(); assertEquals(title, "Selenium"); //Refresh driver.navigate().refresh(); title = driver.getTitle(); assertEquals(title, "Selenium"); driver.quit(); } }
driver.get("https://www.selenium.dev/selenium/web/index.html")
examples/python/tests/interactions/test_navigation.py
from selenium import webdriver driver = webdriver.Chrome() driver.get("https://www.selenium.dev") driver.get("https://www.selenium.dev/selenium/web/index.html") title = driver.title assert title == "Index of Available Pages" driver.back() title = driver.title assert title == "Selenium" driver.forward() title = driver.title assert title == "Index of Available Pages" driver.refresh() title = driver.title assert title == "Index of Available Pages" driver.quit()
//Convenient driver.Url = "https://selenium.dev"; //Longer driver.Navigate().GoToUrl("https://selenium.dev");
examples/dotnet/SeleniumDocs/Interactions/NavigationTest.cs
using System; using Microsoft.VisualStudio.TestTools.UnitTesting; using OpenQA.Selenium; using OpenQA.Selenium.Chrome; namespace SeleniumDocumentation.SeleniumInteractions { [TestClass] public class NavigationTest { [TestMethod] public void TestNavigationCommands() { IWebDriver driver = new ChromeDriver(); driver.Manage().Timeouts().ImplicitWait = TimeSpan.FromMilliseconds(500); //Convenient driver.Url = "https://selenium.dev"; //Longer driver.Navigate().GoToUrl("https://selenium.dev"); var title = driver.Title; Assert.AreEqual("Selenium", title); //Back driver.Navigate().Back(); title = driver.Title; Assert.AreEqual("Selenium", title); //Forward driver.Navigate().Forward(); title = driver.Title; Assert.AreEqual("Selenium", title); //Refresh driver.Navigate().Refresh(); title = driver.Title; Assert.AreEqual("Selenium", title); //Quit the browser driver.Quit(); } } }
it 'navigates to a page' do driver.navigate.to 'https://www.selenium.dev/'
examples/ruby/spec/interactions/navigation_spec.rb
# frozen_string_literal: true require 'spec_helper' RSpec.describe 'Browser' do let(:driver) { start_session } it 'navigates to a page' do driver.navigate.to 'https://www.selenium.dev/' driver.get 'https://www.selenium.dev/' expect(driver.current_url).to eq 'https://www.selenium.dev/' end it 'navigates back' do driver.navigate.to 'https://www.selenium.dev/' driver.navigate.to 'https://www.selenium.dev/selenium/web/inputs.html' driver.navigate.back expect(driver.current_url).to eq 'https://www.selenium.dev/' end it 'navigates forward' do driver.navigate.to 'https://www.selenium.dev/' driver.navigate.to 'https://www.selenium.dev/selenium/web/inputs.html' driver.navigate.back driver.navigate.forward expect(driver.current_url).to eq 'https://www.selenium.dev/selenium/web/inputs.html' end it 'refreshes the page' do driver.navigate.to 'https://www.selenium.dev/' driver.navigate.refresh expect(driver.current_url).to eq 'https://www.selenium.dev/' end end
//Convenient await driver.get('https://www.selenium.dev'); //Longer way await driver.navigate().to("https://www.selenium.dev/selenium/web/index.html");
examples/javascript/test/interactions/navigation.spec.js
const {Builder } = require('selenium-webdriver'); const assert = require("node:assert"); describe('Interactions - Navigation', function () { let driver; before(async function () { driver = new Builder() .forBrowser('chrome') .build(); }); after(async () => await driver.quit()); it('Browser navigation test', async function () { //Convenient await driver.get('https://www.selenium.dev'); //Longer way await driver.navigate().to("https://www.selenium.dev/selenium/web/index.html"); let title = await driver.getTitle(); assert.equal(title, "Index of Available Pages"); //Back await driver.navigate().back(); title = await driver.getTitle(); assert.equal(title, "Selenium"); //Forward await driver.navigate().forward(); title = await driver.getTitle(); assert.equal(title, "Index of Available Pages"); //Refresh await driver.navigate().refresh(); title = await driver.getTitle(); assert.equal(title, "Index of Available Pages"); }); });
// 简便的方法 driver.get("https://selenium.dev") // 更长的方法 driver.navigate().to("https://selenium.dev")
后退
按下浏览器的后退按钮:
//Back driver.navigate().back();
examples/java/src/test/java/dev/selenium/interactions/NavigationTest.java
package dev.selenium.interactions; import org.junit.jupiter.api.Test; import org.openqa.selenium.WebDriver; import org.openqa.selenium.chrome.ChromeDriver; import static org.junit.jupiter.api.Assertions.assertEquals; public class NavigationTest { @Test public void navigateBrowser() { WebDriver driver = new ChromeDriver(); //Convenient driver.get("https://selenium.dev"); //Longer way driver.navigate().to("https://selenium.dev"); String title = driver.getTitle(); assertEquals(title, "Selenium"); //Back driver.navigate().back(); title = driver.getTitle(); assertEquals(title, "Selenium"); //Forward driver.navigate().forward(); title = driver.getTitle(); assertEquals(title, "Selenium"); //Refresh driver.navigate().refresh(); title = driver.getTitle(); assertEquals(title, "Selenium"); driver.quit(); } }
driver.back()
examples/python/tests/interactions/test_navigation.py
from selenium import webdriver driver = webdriver.Chrome() driver.get("https://www.selenium.dev") driver.get("https://www.selenium.dev/selenium/web/index.html") title = driver.title assert title == "Index of Available Pages" driver.back() title = driver.title assert title == "Selenium" driver.forward() title = driver.title assert title == "Index of Available Pages" driver.refresh() title = driver.title assert title == "Index of Available Pages" driver.quit()
//Back driver.Navigate().Back();
examples/dotnet/SeleniumDocs/Interactions/NavigationTest.cs
using System; using Microsoft.VisualStudio.TestTools.UnitTesting; using OpenQA.Selenium; using OpenQA.Selenium.Chrome; namespace SeleniumDocumentation.SeleniumInteractions { [TestClass] public class NavigationTest { [TestMethod] public void TestNavigationCommands() { IWebDriver driver = new ChromeDriver(); driver.Manage().Timeouts().ImplicitWait = TimeSpan.FromMilliseconds(500); //Convenient driver.Url = "https://selenium.dev"; //Longer driver.Navigate().GoToUrl("https://selenium.dev"); var title = driver.Title; Assert.AreEqual("Selenium", title); //Back driver.Navigate().Back(); title = driver.Title; Assert.AreEqual("Selenium", title); //Forward driver.Navigate().Forward(); title = driver.Title; Assert.AreEqual("Selenium", title); //Refresh driver.Navigate().Refresh(); title = driver.Title; Assert.AreEqual("Selenium", title); //Quit the browser driver.Quit(); } } }
driver.navigate.to 'https://www.selenium.dev/'
examples/ruby/spec/interactions/navigation_spec.rb
# frozen_string_literal: true require 'spec_helper' RSpec.describe 'Browser' do let(:driver) { start_session } it 'navigates to a page' do driver.navigate.to 'https://www.selenium.dev/' driver.get 'https://www.selenium.dev/' expect(driver.current_url).to eq 'https://www.selenium.dev/' end it 'navigates back' do driver.navigate.to 'https://www.selenium.dev/' driver.navigate.to 'https://www.selenium.dev/selenium/web/inputs.html' driver.navigate.back expect(driver.current_url).to eq 'https://www.selenium.dev/' end it 'navigates forward' do driver.navigate.to 'https://www.selenium.dev/' driver.navigate.to 'https://www.selenium.dev/selenium/web/inputs.html' driver.navigate.back driver.navigate.forward expect(driver.current_url).to eq 'https://www.selenium.dev/selenium/web/inputs.html' end it 'refreshes the page' do driver.navigate.to 'https://www.selenium.dev/' driver.navigate.refresh expect(driver.current_url).to eq 'https://www.selenium.dev/' end end
//Back await driver.navigate().back();
examples/javascript/test/interactions/navigation.spec.js
const {Builder } = require('selenium-webdriver'); const assert = require("node:assert"); describe('Interactions - Navigation', function () { let driver; before(async function () { driver = new Builder() .forBrowser('chrome') .build(); }); after(async () => await driver.quit()); it('Browser navigation test', async function () { //Convenient await driver.get('https://www.selenium.dev'); //Longer way await driver.navigate().to("https://www.selenium.dev/selenium/web/index.html"); let title = await driver.getTitle(); assert.equal(title, "Index of Available Pages"); //Back await driver.navigate().back(); title = await driver.getTitle(); assert.equal(title, "Selenium"); //Forward await driver.navigate().forward(); title = await driver.getTitle(); assert.equal(title, "Index of Available Pages"); //Refresh await driver.navigate().refresh(); title = await driver.getTitle(); assert.equal(title, "Index of Available Pages"); }); });
driver.navigate().back()
前进
按下浏览器的前进键:
//Forward driver.navigate().forward();
examples/java/src/test/java/dev/selenium/interactions/NavigationTest.java
package dev.selenium.interactions; import org.junit.jupiter.api.Test; import org.openqa.selenium.WebDriver; import org.openqa.selenium.chrome.ChromeDriver; import static org.junit.jupiter.api.Assertions.assertEquals; public class NavigationTest { @Test public void navigateBrowser() { WebDriver driver = new ChromeDriver(); //Convenient driver.get("https://selenium.dev"); //Longer way driver.navigate().to("https://selenium.dev"); String title = driver.getTitle(); assertEquals(title, "Selenium"); //Back driver.navigate().back(); title = driver.getTitle(); assertEquals(title, "Selenium"); //Forward driver.navigate().forward(); title = driver.getTitle(); assertEquals(title, "Selenium"); //Refresh driver.navigate().refresh(); title = driver.getTitle(); assertEquals(title, "Selenium"); driver.quit(); } }
driver.forward()
examples/python/tests/interactions/test_navigation.py
from selenium import webdriver driver = webdriver.Chrome() driver.get("https://www.selenium.dev") driver.get("https://www.selenium.dev/selenium/web/index.html") title = driver.title assert title == "Index of Available Pages" driver.back() title = driver.title assert title == "Selenium" driver.forward() title = driver.title assert title == "Index of Available Pages" driver.refresh() title = driver.title assert title == "Index of Available Pages" driver.quit()
//Forward driver.Navigate().Forward();
examples/dotnet/SeleniumDocs/Interactions/NavigationTest.cs
using System; using Microsoft.VisualStudio.TestTools.UnitTesting; using OpenQA.Selenium; using OpenQA.Selenium.Chrome; namespace SeleniumDocumentation.SeleniumInteractions { [TestClass] public class NavigationTest { [TestMethod] public void TestNavigationCommands() { IWebDriver driver = new ChromeDriver(); driver.Manage().Timeouts().ImplicitWait = TimeSpan.FromMilliseconds(500); //Convenient driver.Url = "https://selenium.dev"; //Longer driver.Navigate().GoToUrl("https://selenium.dev"); var title = driver.Title; Assert.AreEqual("Selenium", title); //Back driver.Navigate().Back(); title = driver.Title; Assert.AreEqual("Selenium", title); //Forward driver.Navigate().Forward(); title = driver.Title; Assert.AreEqual("Selenium", title); //Refresh driver.Navigate().Refresh(); title = driver.Title; Assert.AreEqual("Selenium", title); //Quit the browser driver.Quit(); } } }
driver.navigate.to 'https://www.selenium.dev/selenium/web/inputs.html'
examples/ruby/spec/interactions/navigation_spec.rb
# frozen_string_literal: true require 'spec_helper' RSpec.describe 'Browser' do let(:driver) { start_session } it 'navigates to a page' do driver.navigate.to 'https://www.selenium.dev/' driver.get 'https://www.selenium.dev/' expect(driver.current_url).to eq 'https://www.selenium.dev/' end it 'navigates back' do driver.navigate.to 'https://www.selenium.dev/' driver.navigate.to 'https://www.selenium.dev/selenium/web/inputs.html' driver.navigate.back expect(driver.current_url).to eq 'https://www.selenium.dev/' end it 'navigates forward' do driver.navigate.to 'https://www.selenium.dev/' driver.navigate.to 'https://www.selenium.dev/selenium/web/inputs.html' driver.navigate.back driver.navigate.forward expect(driver.current_url).to eq 'https://www.selenium.dev/selenium/web/inputs.html' end it 'refreshes the page' do driver.navigate.to 'https://www.selenium.dev/' driver.navigate.refresh expect(driver.current_url).to eq 'https://www.selenium.dev/' end end
//Forward await driver.navigate().forward();
examples/javascript/test/interactions/navigation.spec.js
const {Builder } = require('selenium-webdriver'); const assert = require("node:assert"); describe('Interactions - Navigation', function () { let driver; before(async function () { driver = new Builder() .forBrowser('chrome') .build(); }); after(async () => await driver.quit()); it('Browser navigation test', async function () { //Convenient await driver.get('https://www.selenium.dev'); //Longer way await driver.navigate().to("https://www.selenium.dev/selenium/web/index.html"); let title = await driver.getTitle(); assert.equal(title, "Index of Available Pages"); //Back await driver.navigate().back(); title = await driver.getTitle(); assert.equal(title, "Selenium"); //Forward await driver.navigate().forward(); title = await driver.getTitle(); assert.equal(title, "Index of Available Pages"); //Refresh await driver.navigate().refresh(); title = await driver.getTitle(); assert.equal(title, "Index of Available Pages"); }); });
driver.navigate().forward()
刷新
刷新当前页面:
//Refresh driver.navigate().refresh();
examples/java/src/test/java/dev/selenium/interactions/NavigationTest.java
package dev.selenium.interactions; import org.junit.jupiter.api.Test; import org.openqa.selenium.WebDriver; import org.openqa.selenium.chrome.ChromeDriver; import static org.junit.jupiter.api.Assertions.assertEquals; public class NavigationTest { @Test public void navigateBrowser() { WebDriver driver = new ChromeDriver(); //Convenient driver.get("https://selenium.dev"); //Longer way driver.navigate().to("https://selenium.dev"); String title = driver.getTitle(); assertEquals(title, "Selenium"); //Back driver.navigate().back(); title = driver.getTitle(); assertEquals(title, "Selenium"); //Forward driver.navigate().forward(); title = driver.getTitle(); assertEquals(title, "Selenium"); //Refresh driver.navigate().refresh(); title = driver.getTitle(); assertEquals(title, "Selenium"); driver.quit(); } }
driver.refresh()
examples/python/tests/interactions/test_navigation.py
from selenium import webdriver driver = webdriver.Chrome() driver.get("https://www.selenium.dev") driver.get("https://www.selenium.dev/selenium/web/index.html") title = driver.title assert title == "Index of Available Pages" driver.back() title = driver.title assert title == "Selenium" driver.forward() title = driver.title assert title == "Index of Available Pages" driver.refresh() title = driver.title assert title == "Index of Available Pages" driver.quit()
//Refresh driver.Navigate().Refresh();
examples/dotnet/SeleniumDocs/Interactions/NavigationTest.cs
using System; using Microsoft.VisualStudio.TestTools.UnitTesting; using OpenQA.Selenium; using OpenQA.Selenium.Chrome; namespace SeleniumDocumentation.SeleniumInteractions { [TestClass] public class NavigationTest { [TestMethod] public void TestNavigationCommands() { IWebDriver driver = new ChromeDriver(); driver.Manage().Timeouts().ImplicitWait = TimeSpan.FromMilliseconds(500); //Convenient driver.Url = "https://selenium.dev"; //Longer driver.Navigate().GoToUrl("https://selenium.dev"); var title = driver.Title; Assert.AreEqual("Selenium", title); //Back driver.Navigate().Back(); title = driver.Title; Assert.AreEqual("Selenium", title); //Forward driver.Navigate().Forward(); title = driver.Title; Assert.AreEqual("Selenium", title); //Refresh driver.Navigate().Refresh(); title = driver.Title; Assert.AreEqual("Selenium", title); //Quit the browser driver.Quit(); } } }
it 'refreshes the page' do
examples/ruby/spec/interactions/navigation_spec.rb
# frozen_string_literal: true require 'spec_helper' RSpec.describe 'Browser' do let(:driver) { start_session } it 'navigates to a page' do driver.navigate.to 'https://www.selenium.dev/' driver.get 'https://www.selenium.dev/' expect(driver.current_url).to eq 'https://www.selenium.dev/' end it 'navigates back' do driver.navigate.to 'https://www.selenium.dev/' driver.navigate.to 'https://www.selenium.dev/selenium/web/inputs.html' driver.navigate.back expect(driver.current_url).to eq 'https://www.selenium.dev/' end it 'navigates forward' do driver.navigate.to 'https://www.selenium.dev/' driver.navigate.to 'https://www.selenium.dev/selenium/web/inputs.html' driver.navigate.back driver.navigate.forward expect(driver.current_url).to eq 'https://www.selenium.dev/selenium/web/inputs.html' end it 'refreshes the page' do driver.navigate.to 'https://www.selenium.dev/' driver.navigate.refresh expect(driver.current_url).to eq 'https://www.selenium.dev/' end end
//Refresh await driver.navigate().refresh();
examples/javascript/test/interactions/navigation.spec.js
const {Builder } = require('selenium-webdriver'); const assert = require("node:assert"); describe('Interactions - Navigation', function () { let driver; before(async function () { driver = new Builder() .forBrowser('chrome') .build(); }); after(async () => await driver.quit()); it('Browser navigation test', async function () { //Convenient await driver.get('https://www.selenium.dev'); //Longer way await driver.navigate().to("https://www.selenium.dev/selenium/web/index.html"); let title = await driver.getTitle(); assert.equal(title, "Index of Available Pages"); //Back await driver.navigate().back(); title = await driver.getTitle(); assert.equal(title, "Selenium"); //Forward await driver.navigate().forward(); title = await driver.getTitle(); assert.equal(title, "Index of Available Pages"); //Refresh await driver.navigate().refresh(); title = await driver.getTitle(); assert.equal(title, "Index of Available Pages"); }); });
driver.navigate().refresh()