본문 바로가기
반응형

Crawling5

[FireFox] Selenium "not reachable by keyboard" 오류 해결 일반적으로 아래와 같은 input element 에는 작동이 잘 되는 것 같습니다. driver.find_element(By.CSS_SELECTOR, 'input[name="email"]').send_keys(user_id) textarea, d-textarea 등에서 종종 발생하는 문제 인거 같습니다. (input 도 가끔 발생합니다) 저의 경우는 위와 같은 코드로 textarea 를 했을 때 크롬 드라이버는 정상적으로 작동했습니다. firefox 로 실행하니 "not reachable by keyboard" 이러한 오류가 발생해서 다음과 같은 코드로 해결했습니다. from selenium.webdriver import ActionChains source = driver.find_element(By.C.. 2023. 11. 30.
[AWS] Cloud9 에서 Selenium 으로 크롤링하기 (Amazon Linux2) aws 에 접속해서 Cloud9 에서 새로운 환경 생성. 플랫폼은 Amazon Linux2 생성되면 환경으로 접속 후 터미널에서 아래 명령어 실행 chrome 설치 sudo yum update -y wget https://dl.google.com/linux/direct/google-chrome-stable_current_x86_64.rpm sudo yum install -y ./google-chrome-stable_current_x86_64.rpm 링크 설정 sudo ln -s /usr/bin/google-chrome-stable /usr/bin/chromium 설치가 잘 되었다면 버전확인 했을 때 메시지가 나옴. 다음 명령어로 설치 여부 확인 터미널에서 google-chrome CLI 로 크롤링 동작 .. 2023. 9. 12.
[Selenium] input text 입력 및 삭제 방법 input text 에 값을 입력하고, 삭제하는 방법 입력 우선 input element 를 가져옵니다. var input = driver.FindElement(By.TagName("input")); id 로 가져오든 name 으로 가져오든 정확한 input 을 가져와야합니다. SendKey 를 이용해서 값을 입력합니다. input.SendKeys("Hello~ Bryan~"); 입력 값 삭제 방법1. input.Clear(); 간혹 안먹히는 경우가 있습니다. 방법2. input.Click(); input.SendKeys(Keys.Control + "A"); input.SendKeys("Hello~Bryan"); input 에 focus를 주고 (click()), 컨트롤+A를 눌러서 전체 텍스트가 선택되.. 2023. 2. 25.
[C#] 크롤링에 유용한 라이브러리 HtmlAgilityPack HtmlAgilityPack 꽤 많이 사용되고 있는 라이브러리입니다. html string 을 load 하여 그 문자열을 파싱하는 방법입니다. 이것만으로 크롤링 할 수 없는 사이트가 많습니다. 왜냐하면 데이터를 async 하게 로드하는 경우는 사용할 수 없습니다. (스크롤 다운 -> 로딩 같은) 그래서 Selenium 과 HtmlAgilityPack 을 같이 사용하면 유용한 경우가 있습니다. Selenium 으로 많은 element 를 loop 돌며 처리할 때, 느린경우가 있습니다. (N 쇼핑 같은...) 이렇게 느린 부분을 HtmlAgilityPack 을 사용해서 파싱하여 처리합니다. 1. 설치 NugetPackage 관리자로 들어갑니다. 검색으로 HtmlAgilityPack 을 찾아서 설치합니다. (.. 2021. 10. 31.
Python 으로 Crawling 에 필요한 준비 준비 할 사항만 체크해봅니다. 1. Chrome driver 링크 - 본인pc의 크롬 브라우저에 맞는 버전으로 다운로드하고 경로를 기억해둠. 2. python library 설치 - 또는 pip install 명령어 직접 실행. $ pip install selenium 3. Chrome driver 객체 생성 from selenium import webdriver from selenium.webdriver.chrome.options import Options from selenium.webdriver.common.desired_capabilities import DesiredCapabilities chrome_driver_path = 'C:/chromedriver/chromedriver_89/chrome.. 2021. 4. 15.
728x90
반응형