안녕하세요 셀레니움 하는중에 다음과 같은 오류가 발생하는데 너무 궁금합니다.
글쓴이: bedals / 작성시간: 일, 2019/05/05 - 8:28오후
# -*- coding: utf-8 -*- """ Created on Sun May 5 20:44:38 2019 @author: Administrator """ # -*- coding: utf-8 -*- """ Created on Sun May 5 12:55:16 2019 @author: Administrator """ from selenium import webdriver from selenium.webdriver.common.keys import Keys from bs4 import BeautifulSoup import time num_of_pagedowns = 18# 페이지수 rank = 1 driver = webdriver.Chrome('C:\chromedriver.exe') driver.get('https://m.naver.com') time.sleep(1) # 처음 로드 해서 변수 A 까지 elem = driver.find_element_by_xpath('//*[@id="t21"]/div/button').click() #팝업창 클릭 elem = driver.find_element_by_xpath('//*[@id="MM_SEARCH_FAKE"]') #검색창 클릭 elem.click() elem = driver.find_element_by_xpath('//*[@id="query"]') elem.send_keys('박지성') elem.send_keys(Keys.ENTER) time.sleep(1) # 두번째 부터 변수 B까지,쇼핑 더보기 내부 로직 시작 elem = driver.find_element_by_xpath('//*[@id="nx_query"]') elem.clear() elem.send_keys('남성청결제') elem.send_keys(Keys.ENTER) time.sleep(2) elem = driver.find_element_by_xpath('//*[@id="ct"]/section[1]/div[2]/a').click() for a in range(0,3): if a == 0: body = driver.find_element_by_xpath('/html/body') while num_of_pagedowns: body.send_keys(Keys.PAGE_DOWN) time.sleep(0.5) num_of_pagedowns -= 1 html = driver.page_source soup =BeautifulSoup(html,'lxml') titles = soup.find_all('span', class_='_2rxlO_K3YY') for title in titles: rank += 1 if title.get_text()=='신세계몰': print(str(rank)+"번째 : "+title.get_text()) time.sleep(2) elif 0 < a: body = driver.find_element_by_xpath('/html/body') elem = driver.find_element_by_xpath('//*[@id="content"]/div[5]/a[%d]'%(a+1)).click() #이부분 도움주셔서 감사합니다 while num_of_pagedowns: body.send_keys(Keys.PAGE_DOWN) time.sleep(0.5) num_of_pagedowns -= 1 time.sleep(2) html = driver.page_source soup =BeautifulSoup(html,'lxml') titles = soup.find_all('span', class_='_2rxlO_K3YY') for title in titles: rank += 1 if title.get_text() =='신세계몰': print(str(rank)+"번째 : "+title.get_text()) elem = driver.find_element_by_xpath('//*[@="_2rxlO_K3YY"]/a[contains(@title)]').click()
Forums:
십중팔구 이렇게 하면 고쳐질 듯elem =
십중팔구 이렇게 하면 고쳐질 듯
elem = driver.find_element_by_xpath('//*[@id="content"]/div[5]/a[%d]'%(a+1)).click()
에러메시지를 잘 읽어보세요. 어지간하면 거기에 답이 있습니다.
너무 감사합니다.
너무 감사합니다.
죄송합니다.
답변주신내용 정말 저에게 큰 도움이 되었습니다.
소스를 지운행동은 답변해주신분에게 크게 실례가 되는 행동이었던것 같습니다. 너그럽게 용서 부탁드립니다.
궁금해서 그러는데요, 왜 삭제하는거에요?
궁금해서 그러는데요, 왜 삭제하는거에요?
1. 소스코드를 보면 지인 또는 회사 사람이 나를 인식할 수 있다. 그래서 쪽팔리다.
2. 답변 얻었으니 볼짱 다봤다. 그래서 지운다.
3. 다른 이유가 있다.
궁금합니다. 객관식 문제니까 참 쉽죠~ 잉?
제글이 두개가 올라와있어서 그랬어요 나쁜의도는 없었습니다
제글이 연속으로 비슷한 내용으로 두개가 올라와있어서 그랬어요 다시 한번 죄송합니다.
기분이 나쁘셨다면 사죄드립니다. 수정한 내용에 주석으로 고쳐주신부분 체크해 두었습니다.
댓글 달기