Last active
May 28, 2016 05:54
-
-
Save euphoris/f1dc2872cd978e63e438aa14fa7301da to your computer and use it in GitHub Desktop.
This file contains bidirectional Unicode text that may be interpreted or compiled differently than what appears below. To review, open the file in an editor that reveals hidden Unicode characters.
Learn more about bidirectional Unicode characters
{ | |
"cells": [ | |
{ | |
"cell_type": "markdown", | |
"metadata": {}, | |
"source": [ | |
"# Selenium 설치" | |
] | |
}, | |
{ | |
"cell_type": "markdown", | |
"metadata": {}, | |
"source": [ | |
"1. 명령창에\n", | |
"```\n", | |
"pip install selenium\n", | |
"```\n", | |
"1. [Selenium 홈페이지](http://www.seleniumhq.org/download/) 접속\n", | |
"1. **Selenium Standalone Server**를 작업 폴더에 다운로드\n", | |
"1. 원하는 웹 브라우저(IE, Chrome 등)의 드라이버를 작업 폴더에 다운로드(Firefox 드라이버는 Selenium에 내장)" | |
] | |
}, | |
{ | |
"cell_type": "code", | |
"execution_count": 6, | |
"metadata": { | |
"collapsed": false | |
}, | |
"outputs": [], | |
"source": [ | |
"from selenium.webdriver import Chrome" | |
] | |
}, | |
{ | |
"cell_type": "code", | |
"execution_count": 20, | |
"metadata": { | |
"collapsed": false, | |
"scrolled": true | |
}, | |
"outputs": [], | |
"source": [ | |
"chrome = Chrome()" | |
] | |
}, | |
{ | |
"cell_type": "markdown", | |
"metadata": {}, | |
"source": [ | |
"## get" | |
] | |
}, | |
{ | |
"cell_type": "code", | |
"execution_count": 17, | |
"metadata": { | |
"collapsed": true | |
}, | |
"outputs": [], | |
"source": [ | |
"chrome.get('http://cartoon.media.daum.net')" | |
] | |
}, | |
{ | |
"cell_type": "markdown", | |
"metadata": {}, | |
"source": [ | |
"## find_element" | |
] | |
}, | |
{ | |
"cell_type": "code", | |
"execution_count": 11, | |
"metadata": { | |
"collapsed": false | |
}, | |
"outputs": [ | |
{ | |
"data": { | |
"text/plain": [ | |
"<selenium.webdriver.remote.webelement.WebElement (session=\"096df9d5bf5585c89e91c14f2b81f58a\", element=\"0.26986889079689824-1\")>" | |
] | |
}, | |
"execution_count": 11, | |
"metadata": {}, | |
"output_type": "execute_result" | |
} | |
], | |
"source": [ | |
"chrome.find_element_by_xpath('.//ul[@class=\"list_wt\"]//a[@class=\"link_wt\"]')" | |
] | |
}, | |
{ | |
"cell_type": "markdown", | |
"metadata": {}, | |
"source": [ | |
"## find_element<span style=\"color: red\">s</span>" | |
] | |
}, | |
{ | |
"cell_type": "code", | |
"execution_count": 12, | |
"metadata": { | |
"collapsed": true | |
}, | |
"outputs": [ | |
{ | |
"data": { | |
"text/plain": [ | |
"[<selenium.webdriver.remote.webelement.WebElement (session=\"096df9d5bf5585c89e91c14f2b81f58a\", element=\"0.26986889079689824-1\")>,\n", | |
" <selenium.webdriver.remote.webelement.WebElement (session=\"096df9d5bf5585c89e91c14f2b81f58a\", element=\"0.26986889079689824-2\")>,\n", | |
" <selenium.webdriver.remote.webelement.WebElement (session=\"096df9d5bf5585c89e91c14f2b81f58a\", element=\"0.26986889079689824-3\")>,\n", | |
" <selenium.webdriver.remote.webelement.WebElement (session=\"096df9d5bf5585c89e91c14f2b81f58a\", element=\"0.26986889079689824-4\")>,\n", | |
" <selenium.webdriver.remote.webelement.WebElement (session=\"096df9d5bf5585c89e91c14f2b81f58a\", element=\"0.26986889079689824-5\")>,\n", | |
" <selenium.webdriver.remote.webelement.WebElement (session=\"096df9d5bf5585c89e91c14f2b81f58a\", element=\"0.26986889079689824-6\")>,\n", | |
" <selenium.webdriver.remote.webelement.WebElement (session=\"096df9d5bf5585c89e91c14f2b81f58a\", element=\"0.26986889079689824-7\")>,\n", | |
" <selenium.webdriver.remote.webelement.WebElement (session=\"096df9d5bf5585c89e91c14f2b81f58a\", element=\"0.26986889079689824-8\")>,\n", | |
" <selenium.webdriver.remote.webelement.WebElement (session=\"096df9d5bf5585c89e91c14f2b81f58a\", element=\"0.26986889079689824-9\")>,\n", | |
" <selenium.webdriver.remote.webelement.WebElement (session=\"096df9d5bf5585c89e91c14f2b81f58a\", element=\"0.26986889079689824-10\")>,\n", | |
" <selenium.webdriver.remote.webelement.WebElement (session=\"096df9d5bf5585c89e91c14f2b81f58a\", element=\"0.26986889079689824-11\")>,\n", | |
" <selenium.webdriver.remote.webelement.WebElement (session=\"096df9d5bf5585c89e91c14f2b81f58a\", element=\"0.26986889079689824-12\")>,\n", | |
" <selenium.webdriver.remote.webelement.WebElement (session=\"096df9d5bf5585c89e91c14f2b81f58a\", element=\"0.26986889079689824-13\")>,\n", | |
" <selenium.webdriver.remote.webelement.WebElement (session=\"096df9d5bf5585c89e91c14f2b81f58a\", element=\"0.26986889079689824-14\")>,\n", | |
" <selenium.webdriver.remote.webelement.WebElement (session=\"096df9d5bf5585c89e91c14f2b81f58a\", element=\"0.26986889079689824-15\")>,\n", | |
" <selenium.webdriver.remote.webelement.WebElement (session=\"096df9d5bf5585c89e91c14f2b81f58a\", element=\"0.26986889079689824-16\")>,\n", | |
" <selenium.webdriver.remote.webelement.WebElement (session=\"096df9d5bf5585c89e91c14f2b81f58a\", element=\"0.26986889079689824-17\")>]" | |
] | |
}, | |
"execution_count": 12, | |
"metadata": {}, | |
"output_type": "execute_result" | |
} | |
], | |
"source": [ | |
"chrome.find_elements_by_xpath('.//ul[@class=\"list_wt\"]//a[@class=\"link_wt\"]')" | |
] | |
}, | |
{ | |
"cell_type": "code", | |
"execution_count": 13, | |
"metadata": { | |
"collapsed": false | |
}, | |
"outputs": [ | |
{ | |
"name": "stdout", | |
"output_type": "stream", | |
"text": [ | |
"작약만가 : 서리꽃\n", | |
"http://cartoon.media.daum.net/webtoon/view/paeony\n", | |
"리안소울의 엑소클럽\n", | |
"http://cartoon.media.daum.net/webtoon/view/ExoClub\n", | |
"중인클럽\n", | |
"http://cartoon.media.daum.net/webtoon/view/jungin_club\n", | |
"궁상가족\n", | |
"http://cartoon.media.daum.net/webtoon/view/poverty\n", | |
"어쩌면, 사랑\n", | |
"http://cartoon.media.daum.net/webtoon/view/maybelove\n", | |
"축복받은 종양\n", | |
"http://cartoon.media.daum.net/webtoon/view/noryangjin\n", | |
"얌얌숲 당근길 토요요\n", | |
"http://cartoon.media.daum.net/webtoon/view/toyoyo\n", | |
"무균격리구역 AA아파트\n", | |
"http://cartoon.media.daum.net/webtoon/view/aaapt\n", | |
"조상님이 돌아왔다\n", | |
"http://cartoon.media.daum.net/webtoon/view/ancestor\n", | |
"오빠의 향기\n", | |
"http://cartoon.media.daum.net/webtoon/view/oppaperfume\n", | |
"못 잡아먹어 안달\n", | |
"http://cartoon.media.daum.net/webtoon/view/twins\n", | |
"홍도\n", | |
"http://cartoon.media.daum.net/webtoon/view/hongdo\n", | |
"멀리서 보면 푸른 봄\n", | |
"http://cartoon.media.daum.net/webtoon/view/campuslife\n", | |
"잉어왕\n", | |
"http://cartoon.media.daum.net/webtoon/view/petermon\n", | |
"천연 天緣\n", | |
"http://cartoon.media.daum.net/webtoon/view/heavencouple\n", | |
"레드스톰\n", | |
"http://cartoon.media.daum.net/webtoon/view/redstorm\n", | |
"무장\n", | |
"http://cartoon.media.daum.net/webtoon/view/mujang\n" | |
] | |
} | |
], | |
"source": [ | |
"for element in chrome.find_elements_by_xpath('.//ul[@class=\"list_wt\"]//a[@class=\"link_wt\"]'):\n", | |
" print(element.find_element_by_tag_name('strong').text)\n", | |
" print(element.get_attribute('href'))" | |
] | |
}, | |
{ | |
"cell_type": "markdown", | |
"metadata": {}, | |
"source": [ | |
"## click" | |
] | |
}, | |
{ | |
"cell_type": "code", | |
"execution_count": 14, | |
"metadata": { | |
"collapsed": false | |
}, | |
"outputs": [], | |
"source": [ | |
"monday_tab = chrome.find_element_by_xpath('.//a[@data-day=\"mon\"]')" | |
] | |
}, | |
{ | |
"cell_type": "code", | |
"execution_count": 16, | |
"metadata": { | |
"collapsed": true | |
}, | |
"outputs": [], | |
"source": [ | |
"monday_tab.click()" | |
] | |
}, | |
{ | |
"cell_type": "markdown", | |
"metadata": {}, | |
"source": [ | |
"## wait" | |
] | |
}, | |
{ | |
"cell_type": "markdown", | |
"metadata": {}, | |
"source": [ | |
"find_element를 했을 때 페이지 로딩이 끝나지 않았으면 최대 10초까지 기다림" | |
] | |
}, | |
{ | |
"cell_type": "code", | |
"execution_count": 15, | |
"metadata": { | |
"collapsed": true | |
}, | |
"outputs": [], | |
"source": [ | |
"chrome.implicitly_wait(10)" | |
] | |
}, | |
{ | |
"cell_type": "code", | |
"execution_count": 21, | |
"metadata": { | |
"collapsed": false | |
}, | |
"outputs": [], | |
"source": [ | |
"chrome.close()" | |
] | |
}, | |
{ | |
"cell_type": "markdown", | |
"metadata": {}, | |
"source": [ | |
"# 문서" | |
] | |
}, | |
{ | |
"cell_type": "code", | |
"execution_count": 22, | |
"metadata": { | |
"collapsed": true | |
}, | |
"outputs": [], | |
"source": [ | |
"browser = Chrome()" | |
] | |
}, | |
{ | |
"cell_type": "code", | |
"execution_count": 23, | |
"metadata": { | |
"collapsed": true | |
}, | |
"outputs": [], | |
"source": [ | |
"browser.get('http://finance.daum.net/item/bbs.daum?code=005930&viewObj=1:2:0')" | |
] | |
}, | |
{ | |
"cell_type": "code", | |
"execution_count": 27, | |
"metadata": { | |
"collapsed": false | |
}, | |
"outputs": [ | |
{ | |
"data": { | |
"text/plain": [ | |
"<selenium.webdriver.remote.webelement.WebElement (session=\"75d660b60433dc20ba01582e572f3715\", element=\"0.18627559657485082-1\")>" | |
] | |
}, | |
"execution_count": 27, | |
"metadata": {}, | |
"output_type": "execute_result" | |
} | |
], | |
"source": [ | |
"nav" | |
] | |
}, | |
{ | |
"cell_type": "code", | |
"execution_count": 28, | |
"metadata": { | |
"collapsed": false | |
}, | |
"outputs": [ | |
{ | |
"data": { | |
"text/plain": [ | |
"'1'" | |
] | |
}, | |
"execution_count": 28, | |
"metadata": {}, | |
"output_type": "execute_result" | |
} | |
], | |
"source": [ | |
"nav.text" | |
] | |
}, | |
{ | |
"cell_type": "code", | |
"execution_count": 29, | |
"metadata": { | |
"collapsed": true | |
}, | |
"outputs": [], | |
"source": [ | |
"nav.click()" | |
] | |
}, | |
{ | |
"cell_type": "code", | |
"execution_count": null, | |
"metadata": { | |
"collapsed": true | |
}, | |
"outputs": [], | |
"source": [ | |
"<iframe" | |
] | |
}, | |
{ | |
"cell_type": "code", | |
"execution_count": 31, | |
"metadata": { | |
"collapsed": true | |
}, | |
"outputs": [], | |
"source": [ | |
"browser.get('http://www.melon.com/chart/month/index.htm#params%5Bidx%5D=1¶ms%5BrankMonth%5D=201604¶ms%5BisFirstDate%5D=false¶ms%5BisLastDate%5D=true')" | |
] | |
}, | |
{ | |
"cell_type": "code", | |
"execution_count": 34, | |
"metadata": { | |
"collapsed": false | |
}, | |
"outputs": [], | |
"source": [ | |
"song_detail = browser.find_element_by_class_name('btn_icon_detail')" | |
] | |
}, | |
{ | |
"cell_type": "code", | |
"execution_count": 35, | |
"metadata": { | |
"collapsed": true | |
}, | |
"outputs": [], | |
"source": [ | |
"song_detail.click()" | |
] | |
}, | |
{ | |
"cell_type": "code", | |
"execution_count": 36, | |
"metadata": { | |
"collapsed": false | |
}, | |
"outputs": [ | |
{ | |
"data": { | |
"text/plain": [ | |
"'http://www.melon.com/song/detail.htm?songId=8196682'" | |
] | |
}, | |
"execution_count": 36, | |
"metadata": {}, | |
"output_type": "execute_result" | |
} | |
], | |
"source": [ | |
"browser." | |
] | |
}, | |
{ | |
"cell_type": "code", | |
"execution_count": 37, | |
"metadata": { | |
"collapsed": true | |
}, | |
"outputs": [], | |
"source": [ | |
"url = 'http://cafe.naver.com/ArticleRead.nhn?clubid=19773565&page=1&menuid=101&boardtype=L&articleid=63190&referrerAllArticles=false'" | |
] | |
}, | |
{ | |
"cell_type": "code", | |
"execution_count": 47, | |
"metadata": { | |
"collapsed": true | |
}, | |
"outputs": [], | |
"source": [ | |
"res = requests.get(url, headers={'Referer': 'https://search.naver.com/search.naver?sm=tab_hty.top&where=nexearch&oquery=%EB%93%80%EC%98%A4%EB%B0%B1+%EC%95%8C%ED%8C%8C..+tx200hf&ie=utf8&query=%EC%82%BC%EA%B0%81%EC%82%B0'})" | |
] | |
}, | |
{ | |
"cell_type": "code", | |
"execution_count": 44, | |
"metadata": { | |
"collapsed": true | |
}, | |
"outputs": [], | |
"source": [ | |
"res.encoding = 'utf8'" | |
] | |
}, | |
{ | |
"cell_type": "code", | |
"execution_count": 48, | |
"metadata": { | |
"collapsed": true | |
}, | |
"outputs": [], | |
"source": [ | |
"element = lxml.html.fromstring(res.content)" | |
] | |
}, | |
{ | |
"cell_type": "code", | |
"execution_count": 49, | |
"metadata": { | |
"collapsed": false | |
}, | |
"outputs": [ | |
{ | |
"data": { | |
"text/plain": [ | |
"'\\r\\n\\r\\n\\r\\n\\r\\n\\r\\nÄ«Æä\\r\\n\\n\\n\\r\\n\\n\\r\\n\\n\\r\\n\\n\\r\\n\\n\\r\\n\\n\\r\\n\\n\\r\\n\\n\\r\\n\\n\\r\\n\\r\\n\\r\\n\\r\\n\\r\\nvar g_sUserId = \"\";\\r\\nvar g_sGroupId = \"false\";\\r\\nvar g_sCafeHome = \"http://cafe.naver.com/\" + \"duoin\";\\r\\nvar g_sClubId = \"19773565\";\\r\\nvar g_mobileWebLink = \"http://m.cafe.naver.com/duoin/63190\";\\r\\n\\r\\nvar g_sCafeThumbUrl = \\'http://cafethumb.naver.net\\';\\r\\nvar g_sUpcafeUrl = \\'http://up.cafe.naver.com\\';\\r\\nvar g_sCafeUrl = \"http://cafe.naver.com\";\\r\\nvar g_sCafeImgUrl = \\'http://cafeimgs.naver.net\\';\\r\\nvar g_sCafeFileUrl = \\'http://cafefiles.naver.net\\';\\r\\nvar g_sItem2Url = \\'http://item2.naver.com\\';\\r\\nvar g_sLoginUrl = \"http://nid.naver.com\";\\r\\nvar g_sNidHttps = \\'https://nid.naver.com\\';\\r\\nvar g_sCafeSectionUrl = \"http://section.cafe.naver.com\";\\r\\nvar g_sNdrive = \"http://ndrive.naver.com\";\\r\\nvar g_sKin = \"http://kin.naver.com\";\\r\\nvar g_sLogOutReturnUrl = \"https://nid.naver.com/nidlogin.login?mode=form&svctype=40960&id=&url=http://cafe.naver.com/LoginCheck.nhn?m=login\";\\r\\nvar g_sCafeChat = \\'https://chat.cafe.naver.com\\';\\r\\nvar g_sGfmarketThumbnailDomain = \\'http://gfmarket.phinf.naver.net\\';\\r\\nvar g_sPhotoInfraUploadDomain = \\'cafe.upphoto.naver.com\\';\\r\\n\\r\\n\\r\\n\\n\\r\\n\\n\\r\\n\\n\\r\\n\\n\\r\\n\\n\\r\\n\\n\\r\\n\\n\\r\\n\\n\\r\\n\\n\\r\\n\\n\\r\\n\\n\\r\\n\\n\\r\\n\\r\\n\\r\\n\\tif( $(\"cafeCss\").styleSheet) { //IE\\r\\n\\t\\t$(\"cafeCss\").styleSheet.cssText = parent.document.getElementById(\"cafeCss\").styleSheet.cssText.replace(/body[^}]*}/i,\"body {background-color:transparent}\");\\r\\n\\t}else { //FF\\r\\n var replaceString = parent.document.getElementById(\"cafeCss\").innerHTML.replace(/body[^}]*}/i,\"body {background-color:transparent}\"); \\r\\n try{\\r\\n $(\"cafeCss\").innerHTML = replaceString; \\r\\n }catch(e){ //Safari\\r\\n $(\"cafeCss\").innerText = replaceString;\\r\\n } \\r\\n\\t}\\t\\r\\n\\t\\r\\n\\r\\n\\r\\nvar nsc = \"cafe.mycafe\";\\r\\nvar oCL = new Ju.controlLayer({\\r\\n\\tonShow : function(oElement){\\r\\n\\t\\t// ·¹À̾ º¸¿©Áú ¶§ ¼öÇàÇÒ Äڵ带 ³Ö¾îÁÖ¼¼¿ä\\r\\n\\t\\tparentResizeIframe(\\'cafe_main\\', \\'true\\');\\r\\n\\t},\\r\\n\\tonHide : function(){\\r\\n\\t\\t// ·¹À̾ °¨ÃçÁú ¶§ ¼öÇàÇÒ Äڵ带 ³Ö¾îÁÖ¼¼¿ä\\r\\n\\t}\\r\\n});\\r\\n\\r\\n\\r\\nvar LH = new LH_create();\\r\\nwindow.onload = LH_exec;\\r\\n\\r\\nfunction initAutosourcing() {\\r\\n \\r\\n AutoSourcing.init( \\'post_%id%\\' , true );\\r\\n}\\r\\n\\r\\nfunction checkParent() {\\r\\n if (parent && parent == self) {\\r\\n document.location.href = \"http://cafe.naver.com/duoin.cafe?iframe_url=\" + document.location.href.replace(/^http:\\\\/\\\\/(cafe|cafe2).naver.com/gi, \"\").replace(/\\\\?/gi, \"%3F\").replace(/&/gi,\"%26\");\\r\\n }\\r\\n}\\r\\nfunction focusContent() {\\r\\n\\t$(\"focusLocation\").focus();\\r\\n//\\tdocument.focusForm.focusLocation.focus();\\r\\n}\\r\\nLH.add(\"checkParent()\");\\r\\nLH.add(\"parent.setTopInIframe()\");\\r\\n\\r\\nLH.add(\"parentResizeIframe(\\'cafe_main\\')\");\\r\\nLH.add(\\'oEllipsis.ellipsisPage($(\"basisElement\"))\\');\\r\\nLH.add(\"focusContent()\");\\r\\ncheckParent();\\r\\n\\r\\nvar pageTitle = \"\";\\r\\nvar cafeNameTitle = \"[ÀÇ»ç¸ð]µà¿À¹é/½ÃµðÁî/Æ۽ýº/ÆÄÆ®¶ó/Çã¸Õ¹Ð·¯/ÈÞ¸Õ½ºÄÉÀÏ/ÀÇÀÚ\";\\r\\nvar mainTitle;\\r\\nif(pageTitle == null || pageTitle == \"\") {\\r\\n\\tmainTitle = cafeNameTitle + \" : ³×À̹ö Ä«Æä\";\\r\\n} else if (pageTitle == \\'menuname\\') {\\r\\n\\tvar menuNameTitle = \"\";\\r\\n\\tmainTitle = menuNameTitle + \\',\\' + cafeNameTitle + \" : ³×À̹ö Ä«Æä\";\\r\\n} else if (pageTitle == \\'articleSubject\\') {\\r\\n\\tvar articleSubjectTitle = \"µà¿À¹é ¾ËÆÄ.. tx200hf\";\\r\\n\\tmainTitle = articleSubjectTitle + \" : ³×À̹ö Ä«Æä\";\\r\\n} else {\\r\\n\\tmainTitle = pageTitle + \\',\\' + cafeNameTitle + \" : ³×À̹ö Ä«Æä\";\\r\\n}\\r\\nLH.add(changeTitle(mainTitle));\\r\\nLH.add(initTopLayerQuery());\\r\\n//--------------- Mac Safari bug --------------------------\\r\\nfunction controlTagClickEvent(e){\\r\\n\\tif(!!$Agent() && $Agent().macSafari ){\\r\\n\\t \\tvar controlTagName = [\"a\"];\\r\\n\\t \\tvar elTarget = e.element,\\r\\n\\t \\t\\tsTargetUrl = null;\\r\\n\\t \\tif(elTarget != null ){\\r\\n\\t \\t\\tif(elTarget.tagName.toLowerCase() == \"a\" && elTarget.href+\"\" != document.location.href+\"#\"){\\r\\n\\t \\t\\t\\telTarget.target=\"_top\";\\r\\n\\t \\t\\t}\\r\\n\\t \\t\\treturn ;\\r\\n\\t \\t}\\r\\n\\t}\\r\\n}\\r\\n\\r\\n\\r\\n\\r\\n(function() {\\r\\n\\tif(!!$Agent() && $Agent().macSafari ){\\r\\n\\t\\tEvent.register(window, \"load\", function() {\\r\\n\\t\\t\\tif($(\\'main-area\\') != null){\\r\\n\\t\\t\\t\\tEvent.register($(\\'main-area\\'), \\'click\\', this.controlTagClickEvent.bindForEvent(this));\\r\\n\\t\\t\\t}\\r\\n\\t\\t});\\r\\n\\t}\\r\\n})();\\r\\n//--------------- Mac Safari ´ëÀÀ End --------------------------\\r\\n\\r\\n\\r\\n\\n\\n\\n\\n\\n\\n\\n\\n\\n\\nvar oCL = new Ju.controlLayer(); // Ju.controlLayer() Ŭ·¡½º¸¦ oCL Àü¿ª º¯¼ö¿¡ ÇÒ´çÇÔ\\nvar LH = new LH_create();\\nwindow.onload = LH_exec;\\n\\n\\r\\n\\r\\n\\n\\r\\n\\r\\ntry{\\r\\n\\tvar etc = {};\\r\\n\\tetc[\"sti\"] = \"cafe_article\";\\r\\n\\tlcs_do(etc);\\r\\n}catch(e) {}\\r\\n\\r\\n\\r\\ndocument.domain = \"naver.com\";\\r\\n\\r\\n \\r\\n\\topen_wnd(\"https://nid.naver.com/nidlogin.login?template=plogin&mode=form&url=http://cafe.naver.com/OpenerRedirect.nhn%3Fopenerurl%3D/duoin/63190\", \"naver_login\", 410, 280);\\r\\n \\r\\n\\r\\n\\r\\n\\r\\n\\r\\n\\r\\n\\r\\n\\r\\n\\r\\n\\r\\n\\n\\r\\n\\r\\n\\r\\n\\tfunction openLoginLayer() {\\r\\n\\t\\tvar loginCheckOk = \"http://cafe.naver.com/LoginCheck.nhn?m=login\";\\r\\n\\t\\tcheckFrame.location.replace(\"https://nid.naver.com/nidlogin.login?mode=form&svctype=40960&id=&url=\"+loginCheckOk);\\r\\n\\r\\n\\t\\t\\r\\n\\t\\tvar layerScrollTop = parent.document.getElementsByTagName(\\'HTML\\')[0].scrollTop;\\r\\n var layerClientHeight = parent.document.getElementsByTagName(\\'HTML\\')[0].clientHeight;\\r\\n var layerPosition = layerScrollTop + (layerClientHeight * 0.5);\\r\\n document.getElementById(\"login_layer\").style.top = layerPosition + \"px\";\\r\\n \\r\\n\\t\\tdocument.getElementById(\"login_layer_bg\").style.display = \"\";\\r\\n\\t\\tdocument.getElementById(\"login_layer\").style.display = \"\";\\r\\n \\tdocument.getElementById(\"login_layer\").focus();\\t\\t\\r\\n\\t}\\r\\n\\r\\n\\tfunction closeLoginLayer() {\\r\\n\\t\\tdocument.getElementById(\"login_layer_bg\").style.display = \"none\";\\r\\n\\t document.getElementById(\"login_layer\").style.display = \"none\";\\r\\n\\t}\\r\\n\\r\\n\\r\\n \\r\\n\\r\\n\\r\\n \\r\\n \\r\\n\\t\\t\\r\\n \\r\\n\\t\\t\\t\\r\\n\\t \\r\\n \\r\\n\\t\\t\\t\\r\\n\\t\\t\\t\\t\\r\\n\\r\\n\\t\\t\\t\\t\\tȸ¿ø´ÔÀÇ ¾ÈÀüÇÑ ¼\\xadºñ½º ÀÌ¿ëÀ» À§ÇØ ºñ¹Ð¹øÈ£¸¦ È®ÀÎÇØ ÁÖ¼¼¿ä.\\r\\n\\r\\n\\t \\t\\tIP°¡ ÀÚÁÖ º¯°æµÇ´Â ³×Æ®¿öÅ© ȯ°æ¿¡¼\\xad ·Î±×ÀÎÇÏ´Â °æ¿ì IPº¸¾ÈÀ» ÇØÁ¦ ÈÄ ÀÌ¿ëÇϽñ⠹ٶø´Ï´Ù.\\r\\n\\t\\t\\t\\t\\t´Ù½Ã Çѹø ºñ¹Ð¹øÈ£ È®ÀÎ ÇϽøé ÀÌ¿ëÁßÀÎ È\\xad¸éÀ¸·Î µ¹¾Æ°¡¸ç, ÀÛ¼º ÁßÀÌ´ø³»¿ëÀ» Á¤»óÀûÀ¸·Î Àü¼Û ¶Ç´Â µî·ÏÇÏ½Ç ¼ö ÀÖ½À´Ï´Ù.\\r\\n\\t\\r\\n\\t\\t\\t\\t\\t\\r\\n\\t \\t\\t\\r\\n\\t\\r\\n\\t\\t\\t\\t\\r\\n\\t\\t\\t\\r\\n\\t\\t\\t\\r\\n \\t\\r\\n\\t\\t\\t\\r\\n \\r\\n\\t\\t\\r\\n \\r\\n \\r\\n\\r\\n\\r\\n\\r\\n'" | |
] | |
}, | |
"execution_count": 49, | |
"metadata": {}, | |
"output_type": "execute_result" | |
} | |
], | |
"source": [ | |
"element.text_content()" | |
] | |
}, | |
{ | |
"cell_type": "markdown", | |
"metadata": {}, | |
"source": [ | |
"자세한 내용은 [Selenium Python](http://selenium-python.readthedocs.io/index.html) 문서를 참고" | |
] | |
} | |
], | |
"metadata": { | |
"kernelspec": { | |
"display_name": "Python 3", | |
"language": "python", | |
"name": "python3" | |
}, | |
"language_info": { | |
"codemirror_mode": { | |
"name": "ipython", | |
"version": 3 | |
}, | |
"file_extension": ".py", | |
"mimetype": "text/x-python", | |
"name": "python", | |
"nbconvert_exporter": "python", | |
"pygments_lexer": "ipython3", | |
"version": "3.5.1" | |
} | |
}, | |
"nbformat": 4, | |
"nbformat_minor": 0 | |
} |
Sign up for free
to join this conversation on GitHub.
Already have an account?
Sign in to comment