본문 바로가기
반응형

Selenium10

[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] element click intercepted exception in python 전 방법1로 해결 방법1 element.click() 에서 오류가 발생하면 아래와 같이 변경 from selenium.webdriver.common.keys import Keys element.send_keys(Keys.ENTER) 방법2 element 를 두번째 파라메터로 넘김 driver.execute_script("arguments[0].click();", element) 2023. 8. 4.
AWS Cloud9 에서 Selenium 으로 크롤링 하기(Amazon Linux2) Cloud9 에서 Selenium 으로 크롤링 하기(Amazon Linux2) 좀 더 자세한 설명은 이전 글을 참고하세요. [AWS] - Cloud9 에서 Selenium 으로 크롤링 하기 (Ubuntu) 여기에서는 Amazon Linux2 에서 환경 설정만 하겠습니다. 1. 클라우드9 에서 환경생성 - 생성 시 플랫폼을 Amazon Linux2 로 선택 2. 클라우드로 접속해서 터미널에서 아래 명령어들을 차례대로 실행 (설치 중 Is this ok [y/d/N]: 나오면 y 입력) sudo yum update -y wget https://dl.google.com/linux/direct/google-chrome-stable_current_x86_64.rpm sudo yum install ./google-.. 2023. 8. 1.
AWS Cloud9 에서 Selenium 으로 크롤링 하기 (Ubuntu) Cloud9 에서 selenium 으로 크롤링하기 (Ubuntu) 환경 생성 플랫폼은 Ubuntu 를 선택 나머지는 기본으로 하고, [생성] 클릭. 환경이 생성이 완료되면 접속 터미널에서 다음 명령어 실행 sudo apt-get update 완료되면 다음 명령어 실행 sudo apt-get install -y libappindicator1 fonts-liberation sudo apt-get install -f 다음 명령어로 크롬 다운로드 wget https://dl.google.com/linux/direct/google-chrome-stable_current_amd64.deb 크롬 설치 sudo dpkg -i google-chrome-stable_current_amd64.deb 설치된 chrome ve.. 2023. 8. 1.
[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.
[Selenium] Page Load Timeout 설정하기 C# Selenium Page Load Timeout Error OpenQA.Selenium.WebDriverException The HTTP request to the remote WebDriver server for URL http://localhost:55282/session/3594c33da895850a9f51c1e52174f9de/url timed out after 60 seconds 크롤링 실행 중 위와 같은 오류가 발생합니다. 이유는 페이지가 뜨는데 Timeout으로 설정한 60초 보다 오래걸렸기 때문입니다. 페이지에 이상이 없고, 로딩시간이 길더라도 페이지가 뜨긴한다면 Timeout 시간을 늘려주는게 답입니다. 만약에 오랜시간을 기다려도 페이지 오류로 무한로딩이 된다면, timeout 을 .. 2022. 9. 25.
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.
[C#] C# 으로 크롤링 하기 C# Selenium Crawling C# Web Crawler Selenium 1. Library 를 설치 Nuget 페키지 관리자를 열어서 아래 목록을 설치합니다. Selenium.WebDriver Selenium.Support Selenium.WebDriver.ChromeDriver DotNetSeleniumExtras.WaitHelpers 2. using using OpenQA.Selenium; using OpenQA.Selenium.Chrome; 필요한것 만 using 하면됩니다. 3. Code sample using (IWebDriver driver = new ChromeDriver()) { driver.Url = "http://some.url.com"; // find 할때 찾을때까지 기다리는 seconds 설정 driver.Ma.. 2020. 10. 17.
[Python] Selenium 웹페이지 스크롤하기 scrollTo, Scroll down Python 의 selenium 을 이용해서 스크롤 하기 크롤링 할 때 웹페이지를 스크롤 다운해야하는 경우가 있죠. 스크롤다운해서 끝까지 가야 그 다음 데이터를 조회하는 경우가 있고 그 외에도 필요한 경우가 있습니다. 방법 1. scrollTo driver.execute_script("window.scrollTo(0, Y)") 여기서 Y 는 height 을 입력하면 됩니다. 페이지 끝까지 가려면 document.body.scrollHeight 를 사용합니다. 계속해서 스크롤 다운하면서 데이터를 다 조회할때는 SCROLL_PAUSE_SEC = 1 # 스크롤 높이 가져옴 last_height = driver.execute_script("return document.body.scrollHeight") whil.. 2020. 6. 18.
728x90
반응형