본문 바로가기

반응형

Python

(22)
LinkedList 예제 class Node: def __init__(self, data): self.data = data self.next = None class LinkedList: def __init__(self): self.head = None self.size = 0 def append(self, data): if self.head is None: self.head = Node(data) else: node = self.head while node.next: node = node.next node.next = Node(data) self.size += 1 def print_list(self): p = self.head if p is not None: while p: if p.next is not None: print(p..
Selenium - JavaScriptExecutor JavaScriptexecutor가 필요한 이유 Selenium Webdriver에서 XPath, CSS 등과 같은 로케이터는 웹 페이지에서 작업을 식별하고 수행하는 데 사용됩니다. 이러한 로케이터가 작동하지 않는 경우 JavaScriptExecutor를 사용할 수 있습니다. JavaScriptExecutor를 사용하여 웹 요소에서 원하는 작업을 수행할 수 있습니다. Selenium은 javaScriptExecutor를 지원합니다. 추가 플러그인이나 추가 기능이 필요하지 않습니다. JavaScriptExecutor를 사용하려면 스크립트에서 가져오기( org.openqa.selenium.JavascriptExecutor ) 만 하면 됩니다.. 사용하는 방법 1. Import the package. impo..
Selenium - xpath를 이용해, 동일한 상위 요소 아래에서 다른 하위 요소를 선택하는 방법(C#) element = Driver.FindElement(By.XPath("//input[@class='x-input select2-offscreen' and contains(@name,'" + fieldName + "')]//preceding::div[1]/a/span[@class='select2-chosen']")); [출처] https://stackoverflow.com/questions/49702167/selenium-how-to-choose-another-child-element-under-the-same-parent-element-c
Selenium - xpath selenium으로 특정 element를 가져올 때, 가져오고 싶은 element가 다른 element 안에 있을 경우에 그 특정 element를 쉽게 가져올 수 있는 방법 중 하나인 xpath를 사용해 element를 가져오는 방법에 대해서 작성하였다. xpath(XML Path Language)란? W3C의 표준으로 XML(Extensible Markup Language)문서의 구조를 통해 경로(Path)위에 지정한 구문을 사용하여 항목을 배치하고 처리하는 방법을 기술하는 언어입니다. XML 표현보다 더 쉽고 약어로 되어 있으며, XSL변환(XSLT)과 XML지시자 언어(XPointer)에 쓰이는 언어로 XML 문서의 Node를 정의하기 위하여 경로식(Path Expression)을 사용하며, 수학 ..
Selenium - 아래 또는 위로 스크롤하는 방법 1. pixel을 이용해서 스크롤 아래로 내리기 import org.openqa.selenium.JavascriptExecutor; import org.openqa.selenium.WebDriver; import org.openqa.selenium.chrome.ChromeDriver; import org.testng.annotations.Test; public class ScrollByPixel { WebDriver driver; @Test public void ByPixel() { System.setProperty("webdriver.chrome.driver", "E://Selenium//Selenium_Jars//chromedriver.exe"); driver = new ChromeDriver(); ..
Selenium - Waits Selenium을 사용해 테스트를 할 때 element를 찾을 수 있도록 Web Page가 로딩이 끝날때까지 기다려야 한다. AJAX를 이용해 만든 Web의 경우 리소스가 로드하는데 부문별로 다를 수 있다. Selenium에서는 두 가지 타입의 wait 메서드를 제공한다. 1. Explict Waits 특정 상태가 될 때까지 기다리고, 상태가 되면 바로 실행한다. from selenium import webdriver from selenium.webdriver.common.by import By from selenium.webdriver.support.ui import WebDriverWait from selenium.webdriver.support import expected_conditions as ..
Web Driver & Selenium Web Driver Web Driver는 FireFox, Chrome 등과 같은 브라우저에서 제공하는 API들로, 이를 이용하면 코드를 통해 실제 사용자가 브라우저를 다루는 것처럼 사용할 수 있다. 또한 Python에는 이러한 Web Driver를 사용하기 위한 Selenium이라는 라이브러리가 조재한다. 이러한 Web Driver를 이용하면, 단순 패킷 요청만 하는 것이 아닌 브라우저 자체를 이용하는 것이기 때문에 JS와 CSS에 관한 것들도 자동으로 테스트를 할 수 있고, Google과 같이 크롤링 하기 힘든 곳도 크롤링 할 수 있다. Web Driver로 사용 가능한 브라우저로는, FireFox Chrome IE Opera PhantomJs 등의 브라우저가 존재하고, 이 중 PhantomJS를 이용..
웹 크롤러(Beautilful Soup, Scrapy) 웹 크롤러(Web Crawler) 자동화된 방법으로 웹(WEB)에서 다양한 정보를 수집하는 소프트웨어를 의미합니다. 예를 들어 특정한 웹 사이트에 주기적으로 올라오는 글을 실시간으로 문자로 알림해주는 서비스 등을 만들고 싶을 때 사용할 수 있습니다. 웹 크롤러가 매우 유용한 이유는 원하는 서비스로부터 원하는 정보를 편하게 얻어올 수 있기 때문입니다. 또한 웹 크롤러는 언어를 막론하고 자신이 원하는 언어로 개발할 수 있습니다. 뷰티풀 수프(Beautilful Soup)를 이용한 예제 뷰티풀 수프는 특정 웹 사이트의 소스코드를 가져와 자유자재로 파싱(Parsing)하는 작업에 큰 도움을 줍니다. import requests from bs4 import BeautifulSoup # 특정 URL에 접속하는 요청..

반응형