파이썬 프로그래밍 중 질문입니다.
from selenium import webdriver
from selenium.common.exceptions import NoSuchElementException,StaleElementReferenceException
driver = webdriver.Chrome('/Users/GSEC/Downloads/chromedriver')
driver.get('https://kr.ssss.online/member/window_login.asp')
delay = 3 #리소스 기다리는 시간
delay2 = 5
driver.implicitly_wait(delay)
id1 = 'aa@gmail.com'
id2 = 'bb@gmail.com'
pw = 'xxxx'
driver.findelementbyname('farmemail').send_keys(id1)
driver.findelementbyname('farmpwd').send_keys(pw)
driver.implicitly_wait(delay2)
driver.findelementbyxpath('//*[@id="btnlogin"]/input').click()
alert = driver.switch_to.alert
alert.accept()
#html = driver.page_source
#soup = BeautifulSoup(html, 'html.parser')
driver.get('https://kr.ssss.online/event/')
#로그아웃 버튼 클릭from selenium import webdriver
from selenium.common.exceptions import NoSuchElementException,StaleElementReferenceException
driver = webdriver.Chrome('/Users/GSEC/Downloads/chromedriver')
driver.get('https://kr.ssss.online/member/window_login.asp')
delay = 3 #리소스 기다리는 시간
delay2 = 5
driver.implicitly_wait(delay)
id1 = 'aa@gmail.com'
id2 = 'bb@gmail.com'
pw = 'xxxx'
driver.findelementbyname('farmemail').send_keys(id1)
driver.findelementbyname('farmpwd').send_keys(pw)
driver.implicitly_wait(delay2)
driver.findelementbyxpath('//*[@id="btnlogin"]/input').click()
alert = driver.switch_to.alert
alert.accept()
driver.get('https://kr.ssss.online/event/')
driver.implicitly_wait(delay2)
driver.findelementbyxpath('//*[@id="plybtn"]/input').click()
driver.quit()
로그인 한 후 이벤트를 위한 버튼을 클릭하는 프로그램을 짰는데 도저히 그 버튼이 클릭이 안됩니다.
실행하면 개체를 찾을 수 없다고 나옵니다.
타입은 button이며, class나 id, xpath 셋다 해봐도 안됩니다.
<input type="button" value=" 돌림판 돌리기 " class="btnroll" onclick="fnroll_event();">
어떻게 하면 가능할까요?
- <input type="button" value=" 돌림판 돌리기 " class="btn_roll" onclick="fn_roll_event();">
이 버튼을 누르려는데 Selenium으로 개체를 찾을 수 없다면 자바스크립트를 실행해도 되고
driver.execute_script("document.querySelector('셀렉터').click()")아예 onclick 이벤트(위 버튼의 경우에는 fn_roll_event())를 실행시키는 게 목적이므로
driver.execute_script("fn_roll_event()")이렇게만 해도 됩니다.