[Scraping] WebDriver 충돌 해결
Scraping 개발하려면, Nuget Pakage 관리에서 Selenium 관련 Pakage 를 받아야합니다.
관련 Pakage 를 받고, 테스트 코드를 작성..
using System;
using System.Collections.Generic;
using System.Collections.ObjectModel;
using System.Diagnostics;
using System.Linq;
using System.Text;
using System.Threading;
using System.Threading.Tasks;
using System.Windows;
using System.Windows.Controls;
using System.Windows.Data;
using System.Windows.Documents;
using System.Windows.Input;
using System.Windows.Media;
using System.Windows.Media.Imaging;
using System.Windows.Navigation;
using System.Windows.Shapes;
// Selenium
using OpenQA.Selenium;
using OpenQA.Selenium.Chrome;
using OpenQA.Selenium.Chromium;
using OpenQA.Selenium.Support.UI;
namespace ScrapingWpf
{
public partial class MainWindow : Window
{
private static IWebDriver driver;
public MainWindow()
{
InitializeComponent();
ChromiumNetworkConditions conditions = new ChromiumNetworkConditions();
driver = new ChromeDriver();
driver.Navigate().GoToUrl("https://www.reverbnation.com/");
var discoverButton = driver.FindElement(By.Id("menu-item-discover"));
discoverButton.Click();
var collections = FindElements(By.ClassName("card__contents"));
foreach (var collection in collections)
{
Console.WriteLine(collection.Text);
}
}
static IReadOnlyCollection<IWebElement> FindElements(By by)
{
Stopwatch w = Stopwatch.StartNew();
while (w.ElapsedMilliseconds < 10 * 1000)
{
var elements = driver.FindElements(by);
if (elements.Count > 0) { return elements; }
Thread.Sleep(10);
}
//return null;
return new ReadOnlyCollection<IWebElement>(new List<IWebElement>());
}
}
}
Build 를 진행하는데,
session not created: This version of ChromeDriver only supports Chrome version 85
라는 오류 메시지를 받았습니다.
나는 97 버전인데 ㅎㅎㅎ,,
해당 버전에 맞는 chromedriver.exe 를 다운받으라는 해결법이 있으나, 다운그레이드를 싫어하.............
어쩔 수 없이, git 커밋한걸 돌릴려고 git diff 를 찍어봤는데, 왠걸! ㅎㅎ
운 좋게 발견했습니다.
해결
Pakage 에 포함된 Chrome 버전 설정이 중복된 것으로 보입니다. 그래서 최신걸 남겨두고 삭제했습니다.
- Chrome 97.0.4692.7100
- Chrome 85.0.0
목적에 맞게 Nuget Pakage 를 추가하는 습관을 들이는게..
Author And Source
이 문제에 관하여([Scraping] WebDriver 충돌 해결), 우리는 이곳에서 더 많은 자료를 발견하고 링크를 클릭하여 보았다 https://velog.io/@eeejh/Scraping-WebDriver-충돌-해결저자 귀속: 원작자 정보가 원작자 URL에 포함되어 있으며 저작권은 원작자 소유입니다.
우수한 개발자 콘텐츠 발견에 전념 (Collection and Share based on the CC Protocol.)