훈, IT 공부/C#

C#, 셀레니움(selenium) XPath contains() 함수 활용하기

IT훈이 2022. 10. 13.
반응형

Selenium으로 XPath를 활용하여 데이터를 크롤링할때

내가 원하는 특정한 값을 수집할 수 있는 방법은 소개해볼까합니다.

XPath 문법에서 사용하는 contains() 함수입니다.

 

 

안녕하세요 IT훈이입니다 😁

 


XPath contains

contains() 함수 설명

첫번째 문자열이 두번째 문자열을 포함하고, 있다면 TRUE, 없다면 FALSE를 리턴하는 함수

 

 

contains() 기본문법

아래 소스는 기본문법에 대한내용입니다.

Xpath = //tagname[contains (@attribute, 'Value')]

 

Using Text

텍스트를 찾고싶을때 사용하는 contains

[contains(text(), 'XYZ')]

 

Using id

id를 찾고싶을때 사용하는 contains

div[contains(@id, 'test')]

 

 

실제 사용 예시

tag에서 text가 'word'인 문자의 앨리먼트를 얻고자할 때

driver.FindElement(By.XPath("//tag [contains( text(), 'word' )]"));

 

 

Contain() 사용해보기

아래는 테스트를 위한 예시 HTML입니다.

<html>
<body>
<div id="cosmetics"><br><br><br><br><br>
<button type="button">World Wide Market</button><br><br>
<button type="button" >OLAY</button><br><br>
<button type="button">MAC </button><br><br>
<button type="button">FruitMAC</button><br><br>
<button type="button">Fruit</button><br><br>
<button type="button">Lakme MAC</button><br><br>
<input type = "text" class="name" value="name world test" name="btn1">
<input type = "text" class="age" value="age world test" name="btn2">
<input type = "text" class="old" value="old test" name="btn3">
</div>
</body>
</html>

 

 

실제 브라우저에서 노출되는 화면

위의 html을 파일로만들어 실행하게되면 나타나는 화면입니다. 해당화면에서 contain()함수를 사용해보겠습니다.

실제 테스트 html 화면

 

 

button태그에 있는 텍스트들 중에 'World' 가 있는 위치를 찾아달라.

driver.FindElement(By.XPath("//button[contains(text(),’World’)]"));

 

 

input태그에서 value라는 속성에 test라는 값이 있는지 찾아달라

driver.FindElement(By.XPath("input[contains(@value,'test')]"));

 

 


2022.06.22 - [훈개발/C#] - C#, ChromeDriver 활용한 크롤링 자동화처리 네이버 웹툰 리스트 불러오기

 

C#, ChromeDriver 활용한 크롤링 자동화처리 네이버 웹툰 리스트 불러오기

C#, ChromeDriver 활용한 크롤링 자동화처리 네이버 웹툰 리스트 불러오기 자동화 툴 개발을 위하여 이것저것 만들어보면서 기능을 익히고 있습니다. 그 과정에서 나온 '웹툰리스트 불러오기'

master-hun.tistory.com

 

2022.06.24 - [훈개발/Python] - [Python] 웹크롤링 Selenium 과 ChromeDriver 사용법, 설치방법 총정리

 

[Python] 웹크롤링 Selenium 과 ChromeDriver 사용법, 설치방법 총정리

웹크롤링 Selenium 과 ChromeDriver 사용법, 설치방법 총정리 파이썬으로 웹크롤러를 만들기위해서 Selenium과 ChromeDriver 패키지들이 필요합니다. 필요한 파이썬 패키지 설치하는 방법에대해서 포스

master-hun.tistory.com

2022.06.03 - [훈개발] - C#에서 크롤링 웹자동화 크롬드라이버( Chrome Driver ), 셀레니움 (Selenium ) 설치하기

 

C#에서 크롤링 웹자동화 크롬드라이버( Chrome Driver ), 셀레니움 (Selenium ) 설치하기

C#에서 크롤링 크롬드라이버( Chrome Driver ), 셀레니움 (Selenium ) 설치하기 크롤링을 하기 위한절차로 크롬드라이버와 셀레니움 설치하기를 포스팅 해볼까합니다. 안녕하세요 IT훈이입니다 😁 셀레

master-hun.tistory.com

 

반응형

댓글