Selenium 中 click() 的替代方案
seleniumautomation testingtesting tools更新于 2026/1/23 22:52:17
Selenium webdriver 中有几种替代 click 方法的方法。我们可以使用 JavaScript 执行器执行点击操作。Selenium 可以借助 executeScript 方法执行 JavaScript 命令。
参数arguments[0].click() 和要执行点击操作的元素的定位器将传递给此方法。
语法
WebElement n=driver.findElement(By.linkText("Refund"));
JavascriptExecutor j = (JavascriptExecutor) driver;
j.executeScript("arguments[0].click();", n);
示例
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;
import org.openqa.selenium.JavascriptExecutor;
public class JsClickLink{
public static void main(String[] args) {
System.setProperty("webdriver.chrome.driver",
"C:\Users\ghs6kor\Desktop\Java\chromedriver.exe");
WebDriver driver = new ChromeDriver();
//隐式等待
driver.manage().timeouts().implicitlyWait(5, TimeUnit.SECONDS);
//启动 URL
driver.get("https://www.tutorialspoint.com/index.htm");
// 识别元素
WebElement m = driver.findElement(By.xpath("//a[@title='TutorialsPoint - Home']"));
// 使用 JavaScript 执行器点击
JavascriptExecutor j = (JavascriptExecutor) driver;
j.executeScript("arguments[0].click();", m);
driver.quit();
}
}
如果我们想要点击表单标签中 type 属性值为 submit 的提交按钮,可以使用 submit 方法来实现。
让我们看一下表单标签中 type=submit 按钮的 html 代码。

示例
import org.openqa.selenium.By;
import org.openqa.selenium.WebDriver;
import org.openqa.selenium.WebElement;
import org.openqa.selenium.firefox.FirefoxDriver;
import java.util.concurrent.TimeUnit;
public class ClsNameStrategy{
public static void main(String[] args) {
System.setProperty("webdriver.gecko.driver",
"C:\Users\ghs6kor\Desktop\Java\geckodriver.exe");
WebDriver driver = new FirefoxDriver();
//隐式等待
driver.manage().timeouts().implicitlyWait(5, TimeUnit.SECONDS);
//URL 启动
driver.get("https://www.linkedin.com/");
// 识别元素
WebElement l = driver.findElement(By.className("input__input"));
l.sendKeys("test@gmail.com");
WebElement x = driver.findElement(By.id("session_password"));
x.sendKeys("1258147");
WebElement m = driver.
findElement(By.cssSelector("button[type='submit']"));
//点击类型为"提交"的按钮
m.submit();
driver.close();
}
}

