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()
   }
}

更新于: 28-Aug-2020

11K+ 次浏览

开启你的 职业

通过完成课程获取认证

开始
广告