WebDriver click() 与 JavaScript click()。
javascriptweb developmentfront end technologyobject oriented programming
我们可以使用 webdriver click 和 Javascript click 来点击链接。对于 Selenium webdriver 点击链接,我们可以使用链接文本和部分链接文本定位器。我们可以使用 driver.findElement(By.linkText()) 和 driver.findElement(By.partialLinkText()) 方法进行点击。
html 代码中的链接包含在锚标记中。锚标记内的链接文本作为参数传递给 driver.findElement(By.linkText(<link text>)) 方法。锚标记内的部分匹配链接文本作为参数传递给 driver.findElement(By.partialLinkText(<partial link text>)) 方法。最后,要单击链接,请使用 click 方法。
让我们看看带有锚标记的链接的 html 代码。
示例
代码实现。
import org.openqa.selenium.WebDriver; import org.openqa.selenium.chrome.ChromeDriver; import org.openqa.selenium.WebElement; import org.openqa.selenium.By; public class DriverClick{ public static void main(String[] args) { System.setProperty("webdriver.chrome.driver", "C:\Users\ghs6kor\Desktop\Java\chromedriver.exe"); WebDriver driver = new ChromeDriver(); driver.get("https://www.tutorialspoint.com/about/about_careers.htm"); // 使用链接文本定位器识别链接 driver.findElement(By.linkText("Write for us")).click(); System.out.println("点击后的页面标题:" + driver.getTitle()); } }
我们还可以使用 Selenium 中的 Javascript Executor 执行单击链接等 Web 操作。我们将使用 executeScript 方法并将 argument index.click() 和要单击的 webelement 作为参数传递给该方法。
示例
使用 Javascript 执行器的代码实现。
import org.openqa.selenium.WebDriver; import org.openqa.selenium.chrome.ChromeDriver; import org.openqa.selenium.JavascriptExecutor; import org.openqa.selenium.By; public class DriverClickJs{ public static void main(String[] args) { System.setProperty("webdriver.chrome.driver", "C:\Users\ghs6kor\Desktop\Java\chromedriver.exe"); WebDriver driver = new ChromeDriver(); driver.get("https://www.tutorialspoint.com/about/about_careers.htm"); // 识别链接 WebElement l = driver.findElement(By.linkText("Write for us")); //使用 Javascript Executor 点击链接 JavascriptExecutor j = (JavascriptExecutor) driver; j.executeScript("arguments[0].click();", l); System.out.println("点击后的页面标题:" + driver.getTitle()); } }