7번 문제
문제 :
아이유 사진 스크롤을 쭉 내리면 'YES' 버튼이 있다.
다시 스크롤을 내리면 윤아 사진이 있다.
'YES' 버튼을 누르면,
라는 팝업이 뜬다.
코드를 확인해 보니
Faster and Faster... 빠르게 YES 버튼을 눌러야 하는 것 같다.
스크립트 코드도 확인해 보았다.
keyCode가
116은 F5, 9는 Tab,
78이면 n, 82면 r이다.
1) 키 값이 F5 또는 Tab일 경우 'No!'라는 알람 창과, false 값이 return 된다.
2) 키 값이 ctrl과 함께 n키 또는 r키를 누르면, false 값이 return 된다.
참고
출처 : http://www.foreui.com/articles/Key_Code_Table.htm
7번 문제 화면이 나오자마자 'YES' 버튼을 빠르게 눌러야 하는데, 사진이 있어서 스크롤을 내리고 YES 버튼을 누르면 실패하게 된다.
풀다 보니까 이렇게 푸는 게 맞을까 하면서 결과가 나오는 여러 가지 경우를 발견했다..
1. Ctrl 키를 누르면서 빨리 YES 버튼을 여러 번 누르기... 바로 문제가 풀렸다.
2. python 코드 작성
1) 버튼을 누르면, post로 web07_1.asp로 값이 보내진다.
* 바로 web07_1.asp로 값을 보내면 결과가 안 나온다. web07이랑 web07_1로 값이 들어온 속도를 구해서 결과가 나오는 구조인 거 같다.
2) 바로 web07_1로 갈 수 없으니, web07 page를 열었다가 바로 web07_1로 YES값을 보내주도록 코드를 작성했다.
import requests
url1="http://suninatas.com/challenge/web07/web07.asp"
url2="http://suninatas.com/challenge/web07/web07_1.asp"
cookies={
'ASP.NET_SessionId':'본인의 쿠기 값',
'_ga':'본인의 쿠기 값',
'ASPSESSIONIDQQCQQBSC':'본인의 쿠기 값',
'ASPSESSIONIDCCRRQDQA':'본인의 쿠기 값',
'ASPSESSIONIDQQASRDQA':'본인의 쿠기 값'}
data={'web07':'YES'}
def main():
requests.get(url=url1,cookies=cookies);
r=requests.post(url=url2,cookies=cookies,data=data);
print(r.text)
if __name__ == '__main__':
main()
코드 실행 결과...
3. 그래서 다른 사람은 어떻게 풀었나 보았더니 대부분은 개발자 도구의 Console을 이용했다.
frm이름으로 submit()을 하면 되기 때문에
frm.submit()을 입력창에 입력을 해주면 됐다.
(console에 frm.submit()을 입력한 후에 f5를 누르자마자 엔터를 누르면 된다.)