아하
검색 이미지
생활꿀팁 이미지
생활꿀팁생활
생활꿀팁 이미지
생활꿀팁생활
눈부신하늘소70
눈부신하늘소7019.07.10

파이썬 프로그래밍 중 질문입니다.

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();">

어떻게 하면 가능할까요?

55글자 더 채워주세요.
답변의 개수
1개의 답변이 있어요!
  • <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()")

    이렇게만 해도 됩니다.