Selenium Webdriver submit() 与 click()。
click() 函数和 submit() 函数在功能上非常相似。但仍有一些细微差别。我们来讨论一下它们之间的一些区别。
submit() 函数仅适用于 <form>,并且可以更容易地处理表单。它可以与表单内的任何元素一起使用。click() 仅适用于表单中带有 submit 类型按钮。
submit() 函数将等到页面加载,但 click() 仅在提供了显式等待条件时才等待。如果表单具有按钮类型的 submit,则无法使用 submit() 方法。而且,如果按钮位于 <form> 外部,那么 submit() 将不起作用。
因此,我们看到 click() 适用于两种类型的按钮,无论按钮位于 <form> 内部还是外部。我们以以下表单为例进行实现。
示例
使用 submit() 的代码实现。
import org.openqa.selenium.By; import org.openqa.selenium.WebDriver; import org.openqa.selenium.WebElement; import org.openqa.selenium.chrome.ChromeDriver; import java.util.concurrent.TimeUnit; public class SubmitForm{ public static void main(String[] args) { System.setProperty("webdriver.chrome.driver", "C:\Users\ghs6kor\Desktop\Java\chromedriver.exe"); WebDriver driver = new ChromeDriver(); String url = "https://www.facebook.com/"; driver.get(url); driver.manage().timeouts().implicitlyWait(5, TimeUnit.SECONDS); // identify elements driver.findElement(By.id("email")).sendKeys("[email protected]"); driver.findElement(By.id("pass")).sendKeys("123456"); // submitting form with submit() driver.findElement(By.id("pass")).submit(); driver.quit() } }
示例
使用 click() 的代码实现。
import org.openqa.selenium.By; import org.openqa.selenium.WebDriver; import org.openqa.selenium.WebElement; import org.openqa.selenium.chrome.ChromeDriver; import java.util.concurrent.TimeUnit; public class ClickForm{ public static void main(String[] args) { System.setProperty("webdriver.chrome.driver", "C:\Users\ghs6kor\Desktop\Java\chromedriver.exe"); WebDriver driver = new ChromeDriver(); String url = "https://www.facebook.com/"; driver.get(url); driver.manage().timeouts().implicitlyWait(5, TimeUnit.SECONDS); // identify elements driver.findElement(By.id("email")).sendKeys("[email protected]"); driver.findElement(By.id("pass")).sendKeys("123456"); // submitting form with click() driver.findElement(By.name("login")).click(); driver.quit() } }
广告