«   2022/06   »
      1 2 3 4
5 6 7 8 9 10 11
12 13 14 15 16 17 18
19 20 21 22 23 24 25
26 27 28 29 30    
Archives
Today
48
Total
86,238
관리 메뉴

차근차근

selenium 본문

대학교/Data

selenium

SWKo 2020. 2. 1. 01:38
20200131practice3
In [1]:
from IPython.core.display import display, HTML
display(HTML("<style> .container{width:90% !important;}</style>"))
In [5]:
!pip install selenium
WARNING: pip is being invoked by an old script wrapper. This will fail in a future version of pip.
Please see https://github.com/pypa/pip/issues/5599 for advice on fixing the underlying issue.
To avoid this problem you can invoke Python with '-m pip' instead of running pip directly.
Collecting selenium
  Using cached selenium-3.141.0-py2.py3-none-any.whl (904 kB)
Requirement already satisfied: urllib3 in /Users/kosangwon/.conda/envs/practice2/lib/python3.7/site-packages (from selenium) (1.25.8)
Installing collected packages: selenium
Successfully installed selenium-3.141.0
In [3]:
# selenium : 웹 브라우저 매크로 프로그램
# 제어할 브라우저의 드라이버 파일이 필요
In [6]:
from selenium import webdriver
In [65]:
driver = webdriver.Chrome('/Users/kosangwon/Desktop/chromedriver')
In [12]:
driver.implicitly_wait(5) # 어떤 요소를 찾을 때 기다려주기
In [66]:
# 페이지 이동
driver.get("https://www.naver.com")
In [67]:
//*[@id="query"]
  File "<ipython-input-67-7b39d1cb6233>", line 1
    //*[@id="query"]
     ^
SyntaxError: invalid syntax
In [68]:
# 요소 찾기 (Tip : 입력하는 공간은 input, textarea 태그들 중 하나이다.)
search_input = driver.find_element_by_xpath('//*[@id="query"]')
# 클릭, 입력
# 글자 입력하기
search_input.send_keys("겨울왕국2")
search_input.send_keys("\n") # Enter
In [69]:
# 요소 찾기 (Tip : 클릭은 a, button 태그등에 있다.)
news_btn = driver.find_element_by_xpath('//*[@id="lnb"]/div/div[1]/ul/li[6]/a')
# 클릭
news_btn.click()
In [70]:
titles = driver.find_elements_by_css_selector('._sp_each_title')
In [71]:
titles
Out[71]:
[<selenium.webdriver.remote.webelement.WebElement (session="4924329fc63e9cd368de4350f6a92753", element="c4b33982-b457-4453-9cb5-40fafea7a9b3")>,
 <selenium.webdriver.remote.webelement.WebElement (session="4924329fc63e9cd368de4350f6a92753", element="346abaf2-e86c-488d-a660-a174b63035c2")>,
 <selenium.webdriver.remote.webelement.WebElement (session="4924329fc63e9cd368de4350f6a92753", element="6d729eeb-ba8f-42cd-b47e-5b38a3ceec05")>,
 <selenium.webdriver.remote.webelement.WebElement (session="4924329fc63e9cd368de4350f6a92753", element="12238f93-3ed5-4d69-9bc6-7ed6c3fe6b8f")>,
 <selenium.webdriver.remote.webelement.WebElement (session="4924329fc63e9cd368de4350f6a92753", element="058c6248-ab67-4723-92bc-4e647d9e3588")>,
 <selenium.webdriver.remote.webelement.WebElement (session="4924329fc63e9cd368de4350f6a92753", element="7e42e554-95c4-4ce7-88d5-a732d932fdcc")>,
 <selenium.webdriver.remote.webelement.WebElement (session="4924329fc63e9cd368de4350f6a92753", element="be51f406-4489-4c30-bf61-00733f3cc2b0")>,
 <selenium.webdriver.remote.webelement.WebElement (session="4924329fc63e9cd368de4350f6a92753", element="6868fe53-487d-4aab-bfbb-28475c1ebc07")>,
 <selenium.webdriver.remote.webelement.WebElement (session="4924329fc63e9cd368de4350f6a92753", element="2ced1444-ae2b-4500-922b-cc76a0c44ead")>,
 <selenium.webdriver.remote.webelement.WebElement (session="4924329fc63e9cd368de4350f6a92753", element="941727a1-ad69-4102-8a97-fa79769f753a")>]
In [48]:
for title in titles:
    print(title.text, title.get_attribute('href'))
손승연 ‘Into the Unknown’ 완벽 소화 “‘겨울왕국2’ 못 봐…팬들이 부탁... http://star.mbn.co.kr/view.php?year=2020&no=96272&refer=portal
[#꿀잼여행] 강원권: 어쩌면 올겨울 마지막 설산 트레킹이 될 수도… http://yna.kr/AKR20200131054300062?did=1195m
‘축구장 9개’ 규모 자작나무가 펼쳐진…눈 쌓인 강원 겨울 숲으로 http://www.donga.com/news/article/all/20200131/99481281/1
SK브로드밴드, 겨울왕국2 등 설맞이 Btv 특집관 공개 http://www.etnews.com/20200123000109
'겨울왕국 제천페스티벌'성황리 폐막 http://www.jbnews.com/news/articleView.html?idxno=1276700
"겨울왕국 울릉도로 눈 축제 즐기러 오세요" http://www.sportsseoul.com/news/read/877860
쿠팡, '69%할인' 겨울 침구 시즌오프 세일...미키마우스 캐릭터 기획전도 http://www.babytimes.co.kr/news/articleView.html?idxno=32602
'겨울왕국 제천페스티벌' 폐막…중부권 대표 겨울축제로 부상 http://news1.kr/articles/?3825704
쌍용차, 화천 겨울왕국 '산천어 축제'에 공식 후원 http://www.iminju.net/news/articleView.html?idxno=51607
[이슈톡] 안 팔리는 3,500만 원짜리 '겨울왕국2' 인형 https://imnews.imbc.com/replay/2020/nwtoday/article/5653203_32531.html
In [63]:
# 네이버처럼 자동입력방지기능이 있는 사이트들은 아래 방식으로 해야함
In [72]:
# 네이버 로그인

# 페이지 이동
driver.get("https://www.naver.com")
login_btn = driver.find_element_by_xpath('//*[@id="account"]/div/a')
login_btn.click()
In [73]:
id_script = "document.getElementById('id').value='내아이디'"
pw_script = "document.getElementById('pw').value='내비밀번호'"
In [74]:
driver.execute_script(id_script)
In [75]:
driver.execute_script(pw_script)
In [76]:
final_btn = driver.find_element_by_xpath('//*[@id="log.login"]')
final_btn.click()
In [ ]:
 

'대학교 > Data' 카테고리의 다른 글

우한 코로나 바이러스 데이터 분석 (지도 출력)  (0) 2020.02.01
우한 코로나 바이러스 데이터 분석  (0) 2020.02.01
selenium  (0) 2020.02.01
matplotlib  (0) 2020.02.01
Kaggle [Titanic Data Analysis]  (0) 2020.02.01
json  (0) 2020.01.30
0 Comments
댓글쓰기 폼