본문 바로가기
728x90
반응형

셀레니움37

셀레니움 - Element is not clickable at point 해결 방법 원인 브라우저가 클릭해야 하는 원소를 보이지 않는 곳에 있기 때문에(스크롤이 길다던가 등) 발생하는 원인 해결 방법 from selenium.webdriver.common.action_chains import ActionChains element = driver.find_element_by_id("my-id") actions = ActionChains(driver) actions.move_to_element(element).perform() # actions.move_to_element(element).click().perform() # Click 브라우저를 조작하는 ActionsChains으로 브라우저가 요소가 있는 곳으로 이동시킬 수 있다. 참고: https://stackoverflow.com/que.. 2022. 8. 31.
셀레니움 - 마우스를 더 인간적으로 조작하기(Action 클래스) https://testmanager.tistory.com/m/119 Selenium Webdriver에서 Action Class를 사용하는 키보드 및 마우스 이벤트 키보드 및 마우스 이벤트 처리 특수 키보드 및 마우스 이벤트 처리는 고급 사용자 상호 작용 API를 사용하여 수행 됩니다 . 이 이벤트를 실행할 때 필요한 조치 및 조치 클래스가 들어 있 testmanager.tistory.com 2022. 7. 26.
셀레니움 - chromedriver 자동 업데이트 및 설치 pip install chromedriver_autoinstaller from selenium import webdriver import chromedriver_autoinstaller def driverAutoInstall(): chromedriver_autoinstaller.install() driver = webdriver.Chrome() return driver driver = driverAutoInstall() driver.get('http://google.com') 출처: https://dev-guardy.tistory.com/78 [Python] chromedriver selenium 자동설치 [셀레니움, 크롬드라이버] Python , chromedrvier, Selenium, 셀레니움, 크.. 2022. 5. 23.
셀레니움 - 크롬 모바일 미러링(chrome://inspect) 사용 방법 1. PC 크롬에서 "chrome://inspect" 주소로 접속 2. PC에서 adb로 모바일 브릿지 연결 3. 모바일에서 크롬 앱 실행 안드로이드 크롬을 조작할 때 엘레멘트 요소를 분석할 때 사용하면 좋다. https://janger.tistory.com/250?category=1254107 참고: https://jfbta.tistory.com/71 크롬 인스펙터] chrome inspect, 모바일 웹 디버깅 하는 방법 Chrome Inspect. 한글로 '크롬 인스펙터' 라고 하는데 실제 모바일 기기를 크롬 개발자툴에서 그대로 구현해서 편리하게 디버깅할 수 있는 기능이다. 사용방법 첫째, 모바일 USB 드라이버를 설치한다. jfbta.tistory.com 2022. 4. 9.
셀레니움 - 안드로이드 모바일 크롬 조작 디바이스가 한 개인 경우 # -*- coding: utf-8 -*- from selenium import webdriver import time options = webdriver.ChromeOptions() options.add_experimental_option('androidPackage', 'com.android.chrome') driver = webdriver.Chrome(options=options) driver.implicitly_wait(15) driver.get('https://www.naver.com') time.sleep(1) print(driver.current_url) driver.execute_script('alert(1)') 나중에 알게된 사실인데 driver = webdriv.. 2022. 4. 9.
셀레니움 - 네이버 로그인 봇 탐지 우회하기 from selenium import webdriver from selenium.webdriver.common.keys import Keys import pyperclip import time uid = '{아이디}' upw = '{비밀번호}' driver = webdriver.Chrome('chromedriver.exe') driver.implicitly_wait(15) driver.get('https://nid.naver.com/nidlogin.login?mode=form&url=https%3A%2F%2Fwww.naver.com') pyperclip.copy(uid) time.sleep(1) driver.find_element_by_xpath('/html/body/div[1]/div[2]/div/di.. 2022. 2. 8.
셀레니움 - C#에서 Selenium 환경 설정 비주얼 스튜디오에 NuGet 접속 "Selenium"을 검색한 다음 Selenium.WebDriver, Selenium.Support, Selenium.WebDriver.ChromeDriver 패키지를 설치 using (IWebDriver driver = new ChromeDriver()) { driver.Url = "http://ipinfo.io/ip"; driver.Manage().Timeouts().ImplicitWait = TimeSpan.FromSeconds(5); var element = driver.FindElement(By.XPath("//body")); label1.Text = element.Text; } 아이피를 가져오는 셀레니움 소스 코드 참고: https://nowonbun.tist.. 2022. 1. 25.
셀레니움 - 파일 여러개 한 번에 올리기 driver.find_element_by_css_selector('input[type=file]').send_keys(r"C:\\Users\\BomNal\\Desktop\\번개장터\\img.png" + '\n' + r"C:\\Users\\BomNal\\Desktop\\번개장터\\img2.png" + '\n' + r"C:\\Users\\BomNal\\Desktop\\번개장터\\img3.jpg") r"C:\\Users\\BomNal\\Desktop\\번개장터\\img.png" + '\n' + r"C:\\Users\\BomNal\\Desktop\\번개장터\\img2.png" 요렇게 \n을 기준으로 여러개 올릴 수가 있음 출처: https://sbiografia.tistory.com/12 python selen.. 2022. 1. 17.
셀레니움 - 브라우저 현재 url 가져오기 driver.current_url 2022. 1. 15.
셀레니움 - 브라우저 로딩 타임아웃 주기, implicitly_wait, explicitly wait 기존 time.sleep(n) 경우는 브라우저가 다 로드가 되던 안되던 자기 차례가 오면 바로 sleep 모드에 들어가서 정해진 시간 동안 대기를 하지만 셀레니움에서 제공하는 implicitly_wait 경우 예를들어 driver.implicitly_wait(15)은 "브라우저가 로드가 완료 될 때까지" 15초를 기다리고 다 로드가 되면 바로 다음 코드를 실행하므로 더 속도가 빨라짐. driver.implicitly_wait(15) # seconds [해당 요소가 보일 때까지 일시정지] from selenium.webdriver.support.ui import WebDriverWait from selenium.webdriver.common.by import By from selenium.webdriver.. 2022. 1. 15.
셀레니움 - iframe 조작 driver.switch_to.frame('id값') # iframe으로 전환하기 driver.switch_to.default_content() # 다시 원래대로 돌아오기 2022. 1. 15.
셀레니움 - 브라우저에 엔터 보내기 def enter(driver): actions = ActionChains(driver) actions.send_keys(Keys.RETURN) actions.perform() 2022. 1. 15.
728x90
반응형