Computer >> 컴퓨터 >  >> 프로그램 작성 >> JavaScript

WebDriver click() 대 JavaScript click().

<시간/>

웹드라이버 클릭과 자바스크립트 클릭으로 링크를 클릭할 수 있습니다. Selenium webdriver 링크 클릭의 경우 링크 텍스트와 부분 링크 텍스트 로케이터를 사용할 수 있습니다. driver.findElement(By.linkText()) 및 driver.findElement(By.partialLinkText()) 메서드를 사용하여 클릭할 수 있습니다.

html 코드의 링크는 앵커 태그로 묶입니다. 앵커 태그 안에 포함된 링크 텍스트는 driver.findElement(By.linkText())에 인수로 전달됩니다. 방법. 앵커 태그 안에 포함된 부분적으로 일치하는 링크 텍스트는 driver.findElement(By.partialLinkText())에 인수로 전달됩니다. 방법. 마지막으로 클릭 링크에서 클릭 방식을 사용합니다.

앵커 태그가 있는 링크의 html 코드를 살펴보겠습니다.

WebDriver click() 대 JavaScript click().

예시

코드 구현.

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");
      // identify link with link text locator
      driver.findElement(By.linkText("Write for us")).click();
      System.out.println("Page title after click: " + driver.getTitle());
   }
}

Selenium에서 Javascript Executor로 링크를 클릭하는 것과 같은 웹 작업을 수행할 수도 있습니다. executeScript를 사용합니다. 메소드 및 전달 인수 index.click()웹 요소 메소드에 대한 인수로 클릭됩니다.

예시

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");
      // identify link
      WebElement l = driver.findElement(By.linkText("Write for us"));
      //click link with Javascript Executor
      JavascriptExecutor j = (JavascriptExecutor) driver;
      j.executeScript("arguments[0].click();", l);
      System.out.println("Page title after click: " + driver.getTitle());
   }
}

출력

WebDriver click() 대 JavaScript click().