본문 바로가기

프로그램언어/C#

selenium-webdriver

웹 페이지에서 WebElements와 상호 작용하려면 먼저 요소의 위치를 ​​식별해야합니다.

셀렌에서 사용할 수있는 키워드입니다.

 

  1. ID
  2. 클래스 이름
  3. 태그 이름으로
  4. 이름으로
  5. 링크 텍스트로
  6. 부분 링크 텍스트로
  7. CSS 선택기으로
  8. XPath를함으로써
  9. JavaScript 사용

아래 스크립트 예제를 고려하십시오.

<form name="loginForm">

Login Username: <input id="username" name="login" type="text" />

Password: <input id="password" name="password" type="password" />

<input name="login" type="submit" value="Login" />

 

위의 코드에서 사용자 이름과 비밀번호는 ID를 사용하여 설정됩니다. 이제 ID가있는 요소를 식별하려고합니다.

 

driver.findElement(By.id(username));

driver.findElement(By.id(password));

셀레늄은 7 개 언어를 지원하므로이 문서는 모든 언어로 요소를 찾을 수있는 아이디어를 제공합니다.


ID로

ID를 사용하여 요소를 찾는 방법의 예 :

<div id="collestWidgetEvah">...</div>

 

Java - WebElement element = driver.findElement(By.id("coolestWidgetEvah"));

C# - IWebElement element = driver.FindElement(By.Id("coolestWidgetEvah"));

Python - element = driver.find_element_by_id("coolestWidgetEvah")

Ruby - element = driver.find_element(:id, "coolestWidgetEvah")

JavaScript/Protractor - var elm = element(by.id("coolestWidgetEvah"));


클래스 이름으로

클래스 이름을 사용하여 요소를 찾는 방법의 예 :

<div class="cheese"><span>Cheddar</span></div>

 

Java - WebElement element = driver.findElement(By.className("cheese"));

C# - IWebElement element = driver.FindElement(By.ClassName("cheese"));

Python - element = driver.find_element_by_class_name("cheese")

Ruby - cheeses = driver.find_elements(:class, "cheese")

JavaScript/Protractor - var elm = element(by.className("cheese"));


태그 이름 별

태그 이름을 사용하여 요소를 찾는 방법의 예 :

<iframe></iframe>

 

Java - WebElement element = driver.findElement(By.tagName("iframe"));

C# - IWebElement element = driver.FindElement(By.TagName("iframe"));

Python - element = driver.find_element_by_tag_name("iframe")

Ruby - frame = driver.find_element(:tag_name, "iframe")

JavaScript/Protractor - var elm = element(by.tagName("iframe"));


이름으로

이름을 사용하여 요소를 찾는 방법의 예 :

<input name="cheese" type="text" />

 

Java - WebElement element = driver.findElement(By.name("cheese"));

C# - IWebElement element = driver.FindElement(By.Name("cheese"));

Python - element = driver.find_element_by_name("cheese")

Ruby - cheese = driver.find_element(:name, "cheese")

JavaScript/Protractor - var elm = element(by.name("cheese"));


링크 텍스트로

링크 텍스트를 사용하여 요소를 찾는 방법의 예 :

<a href="http://www.google.com/search?q=cheese">cheese</a>

 

Java - WebElement element = driver.findElement(By.linkText("cheese"));

C# - IWebElement element = driver.FindElement(By.LinkText("cheese"));

Python - element = driver.find_element_by_link_text("cheese")

Ruby - cheese = driver.find_element(:link, "cheese")

JavaScript/Protractor - var elm = element(by.linkText("cheese"));


부분 링크 텍스트

부분 링크 텍스트를 사용하여 요소를 찾는 방법의 예 :

<a href="www.google.com/search?q=cheese">search for cheese</a>

 

Java - WebElement element = driver.findElement(By.partialLinkText("cheese"));

C# - IWebElement element = driver.FindElement(By.PartialLinkText("cheese"));

Python - element = driver.find_element_by_partial_link_text("cheese")

Ruby - cheese = driver.find_element(:partial_link_text, "cheese")

JavaScript/Protractor - var elm = element(by.partialLinkText("cheese"));


CSS 선택자에 의한

CSS 선택자를 사용하여 요소를 찾는 방법의 예 :

<div id="food" class="dairy">milk</div>

 

Java - WebElement element = driver.findElement(By.cssSelector("#food.dairy")); //# is used to indicate id and . is used for classname.

C# - IWebElement element = driver.FindElement(By.CssSelector("#food.dairy"));

Python - element = driver.find_element_by_css_selector("#food.dairy")

Ruby - cheese = driver.find_element(:css, "#food span.dairy.aged")

JavaScript/Protractor - var elm = element(by.css("#food.dairy"));


XPath로

XPath를 사용하여 요소를 찾는 방법의 예 :

<input type="text" name="example" />

 

Java - WebElement element = driver.findElement(By.xpath("//input"));

C# - IWebElement element = driver.FindElement(By.XPath("//input"));

Python - element = driver.find_element_by_xpath("//input")

Ruby - inputs = driver.find_elements(:xpath, "//input")

JavaScript/Protractor - var elm = element(by.xpath("//input"));

'프로그램언어 > C#' 카테고리의 다른 글

람다식  (0) 2021.06.23
델리게이트와 이벤트  (0) 2021.06.22
문제풀기1  (0) 2021.06.07
크롬에서 자바스크립트 디버깅  (0) 2020.04.02
크롬브라이우저에서 HTML 디버깅하기  (0) 2020.04.02