수정 전
코드 :
1
2
3
4
5
6
7
|
from selenium import webdriver
driver = webdriver.Chrome(r"C:\Users\JW\Desktop\chromedriver_win32\chromedriver.exe")
driver.get("https://www.hansung.ac.kr/web/www/login")
driver.find_element_by_name('_58_login').send_keys('1433047')
driver.find_element_by_name('_58_password').send_keys('')
driver.find_element_by_class_name('btn_login').click()
|
cs |
실행결과 : 안됨.
================= RESTART: C:\Users\JW\Desktop\python\1-1.py =================
Traceback (most recent call last):
File "C:\Users\JW\Desktop\python\1-1.py", line 6, in
driver.find_element_by_class_name('btn_login').click()
File "C:\Users\JW\AppData\Local\Programs\Python\Python37\lib\site-packages\selenium\webdriver\remote\webdriver.py", line 564, in find_element_by_class_name
return self.find_element(by=By.CLASS_NAME, value=name)
File "C:\Users\JW\AppData\Local\Programs\Python\Python37\lib\site-packages\selenium\webdriver\remote\webdriver.py", line 978, in find_element
'value': value})['value']
File "C:\Users\JW\AppData\Local\Programs\Python\Python37\lib\site-packages\selenium\webdriver\remote\webdriver.py", line 321, in execute
self.error_handler.check_response(response)
File "C:\Users\JW\AppData\Local\Programs\Python\Python37\lib\site-packages\selenium\webdriver\remote\errorhandler.py", line 242, in check_response
raise exception_class(message, screen, stacktrace)
selenium.common.exceptions.NoSuchElementException: Message: no such element: Unable to locate element: {"method":"css selector","selector":".btn_login"}
(Session info: chrome=77.0.3865.90)
수정 후
코드 :
1
2
3
4
5
6
7
8
|
from selenium import webdriver
driver = webdriver.Chrome(r"C:\Users\JW\Desktop\chromedriver_win32\chromedriver.exe")
driver.get("https://www.hansung.ac.kr/web/www/login")
driver.find_element_by_name('_58_login').send_keys('1433047')
driver.find_element_by_name('_58_password').send_keys('')
driver.find_element_by_xpath("""//*[@id="loginUnited"]/form/input[7]""").click()
|
cs |
실행결과 : 로그인 성공
설명 :
from selenium import webdriver
selenium모듈을 이용할 것이다.
driver = webdriver.Chrome(r"C:\Users\JW\Desktop\chromedriver_win32\chromedriver.exe")
크롬의 웹드라이버를 가져와 driver라는 변수에 저장.
driver.get("https://www.hansung.ac.kr/web/www/login")
get()함수를 이용하여 매개변수로 받은 url주소를 가져온다.

페이지에 들어가 검사를 통해서 id박스에 해당하는 곳을 확인했다. id가 있으니 iname으로 받아온다.
driver.find_element_by_name('_58_login').send_keys('1433047')
find_element_by_name()함수를 이용하여 id가 매개벼수인 곳을 찾고 .send_keys()함수를 이용하여 그 곳에 매개벼수를 입력해주었다.
driver.find_element_by_name('_58_password').send_keys('')
비밀버호도 동일하게 코딩
driver.find_element_by_xpath("""//*[@id="loginUnited"]/form/input[7]""").click()
수정 전에 실패했던 내용이다. find_element_by_xpath()함수를 이용하여 버튼을 찾고 click()함수를 통해서 클릭을 해준다.
xpath를 받아오는법은

이렇게 받아오면
//*[@id="loginUnited"]/form/input[7] 이런게 복사가 된다
이 것을 이유는 모르겠지만 ''' ''' (따움표 3개씩)안에 넣어주면 된다.
'Python > Crawling' 카테고리의 다른 글
Python,crawling, bs4, openpyxl, datetime, string, 상승주 가져오기 (0) | 2019.10.06 |
---|---|
Python,crawling, bs4,pandas,주식 엑셀로 가져오기 (0) | 2019.10.02 |
Python,crawling, bs4,인기검색어 가져오기 (0) | 2019.10.02 |