Microsoft Edge (Chromium)을 대상으로 한 Selenium WebDriver 사용법
혹시나 있을까 싶어서 검색했더니 ^^ 나오는군요.
Microsoft WebDriver - Microsoft Edge (Chromium)
; https://developer.microsoft.com/en-us/microsoft-edge/tools/webdriver/
현재 자신의 컴퓨터에 설치된 "Microsoft Edge (Chromium)" 버전을 확인 후 그에 맞는 edgedriver 파일을 다운로드하면 됩니다. 가령 제 경우에는 "77.0.197.0" 버전이기 때문에 다음의 파일을 사용했습니다.
edgedriver_win64.zip
; https://msedgedriver.azureedge.net/77.0.197.0/edgedriver_win64.zip
C# 프로젝트에서 사용하는 방법은 간단합니다. 우선, NuGet으로부터 패키지 2개를 설치하고,
Install-Package Selenium.WebDriver
Install-Package Selenium.Chrome.WebDriver
여느 ChromeDriver 사용법이랑 동일하지만, 단지 초기화 부분에만 "Microsoft Edge (Chromium)" 제품을 위한 배려만 추가하면 됩니다.
using OpenQA.Selenium;
using OpenQA.Selenium.Chrome;
using System;
using System.IO;
class Program
{
static void Main(string[] args)
{
string platform = (IntPtr.Size == 8) ? "x64" : "x86";
string path = Path.Combine(Path.GetDirectoryName(typeof(Program).Assembly.Location), "lib", platform);
ChromeOptions co = new ChromeOptions();
co.BinaryLocation = @"C:\Program Files (x86)\Microsoft\Edge Dev\Application\msedge.exe";
ChromeDriverService cds = ChromeDriverService.CreateDefaultService(path, "msedgedriver.exe");
using (IWebDriver driver = new ChromeDriver(cds, co))
{
driver.Url = "https://www.sysnet.pe.kr";
{
IWebElement div = driver.FindElement(By.ClassName("leftCommentArea"));
foreach (var item in div.FindElements(By.XPath(".//a")))
{
Console.WriteLine(item.Text);
}
}
Console.WriteLine("Press any key to exit...");
Console.ReadLine();
}
}
}
(
이 글의 예제 코드는 github - ChromiumEdgeSeleniumSample에서 제공합니다.)
[파이썬의 경우]
selenium 모듈 설치 후,
pip install -U selenium
아래의 사이트에서 이번엔 Chrome WebDriver를 다운로드하고,
Chrome - Web Driver 다운로드
; https://sites.google.com/a/chromium.org/chromedriver/downloads
압축을 해제한 chromedriver.exe 파일을 "c:/temp" 디렉터리(또는 원하는 경로)에 복사하고, 다음과 같이 코딩합니다.
from selenium import webdriver
options = webdriver.ChromeOptions()
# options.add_argument('headless')
options.add_argument('window-size=1920x1080')
driver = webdriver.Chrome('d:/Settings/selenium/chromedriver', options=options)
driver.implicitly_wait(3)
driver.get('https://www.naver.com')
# driver.quit()
[이 글에 대해서 여러분들과 의견을 공유하고 싶습니다. 틀리거나 미흡한 부분 또는 의문 사항이 있으시면 언제든 댓글 남겨주십시오.]