셀레니움 인스타크롤링 첫번째 포스트 클릭이 안되어 문의남깁니다.

조회수 1023회

안녕하세요! 할 수 있는 한 찾아봤는데, 정말 이상해서 질문드립니다!


from selenium import webdriver
from selenium.webdriver.common.keys import Keys
from selenium.webdriver.chrome.options import Options
from bs4 import BeautifulSoup
import time as time



mobile_emulation = { "deviceName": "Nexus 5" }
chrome_options = Options()
chrome_options.add_experimental_option("mobileEmulation", mobile_emulation)
driver = webdriver.Chrome('Chromedriver.exe', chrome_options = chrome_options)


url = 'https://www.instagram.com/'
driver.get(url)





time.sleep(3)


driver.find_element_by_xpath('//*[@id="react-root"]/section/main/article/div/div/div/div[3]/button[1]').click()


time.sleep(3)



driver.find_element_by_xpath('//*[@id="loginForm"]/div[1]/div[3]/div/label/input').send_keys('아이디')
driver.find_element_by_xpath('//*[@id="loginForm"]/div[1]/div[4]/div/label/input').send_keys('비밀번호')
driver.find_element_by_xpath('//*[@id="loginForm"]/div[1]/div[6]').click()



time.sleep(3)

driver.find_element_by_xpath('//*[@id="react-root"]/section/main/div/div/div/button').click()


time.sleep(3)
driver.get('https://www.instagram.com/imvely_jihyun/')



time.sleep(3)




driver.find_element_by_xpath('//*[@id="react-root"]/section/main/div/div[3]/article/div/div/div/div[1]/a/div/div[2]').click() 

전체 코드는 위와 같고요. 댓글을 가져오려고, 크롬 모바일 모드로 접속했습니다. 문제는 마지막 부분에서 첫번째 포스트를 클릭하려는데 더이상 진행이 안되네요. 검색버튼이나 나머지 부분은 잘 클릭이 되는데 희안하게도 첫번째 포스트만 클릭이 안되고 있습니다.

1 답변

  • 객체를 잘못 지정하신거 아닐까요?

    다음 객체를 클릭해야하지 않나 생각됩니다.

    #driver.find_element_by_xpath('//*[@id="react-root"]/section/main/div/div[3]/article/div/div/div/div[1]/a/div/div[2]').click()
    # x패스가 아닌 셀렉터로 선택하기
    driver.find_element_by_css_selector('#react-root > section > main > div > div._2z6nI > article > div:nth-child(1) > div > div:nth-child(1) > div:nth-child(1) > a > div.eLAPa > div._9AhH0').click()
    
    
    • 안녕하세요! 답변해주셔서 정말 감사드립니다.^^ 위 내용으로 진행하시니 초보님 컴퓨터에서는 돌아갔나요? 저는 말씀해주신 코드로 해도 진행이 안되네요 ㅜ 그리고... 개발자모드에서 copy로 xpath 값을 보면 '//*[@id="react-root"]/section/main/div/div[4]/article/div[1]/div/div[1]/div[1]/a/div[1]/div[2]' 요렇게 나와서 요문제는 아닌 것 같은데, 제가 뭘 잘못알고 있는걸까요~? 알 수 없는 사용자 2021.5.25 17:50
    • 음.. css 셀렉터로 해보실래요? x패스 값이 하나가 아니라 여러개 선택되서 생기는 문제 같습니다. 초보자 2021.5.25 18:20
    • 고렇게 해봐도 안되네용 +_+ 혹시 초보님은 잘되시나요? 알 수 없는 사용자 2021.5.25 19:56
    • 잘됩니다. 마지막줄 제대로 수정하신거 맞나요? 초보자 2021.5.26 09:01

답변을 하려면 로그인이 필요합니다.

프로그래머스 커뮤니티는 개발자들을 위한 Q&A 서비스입니다. 로그인해야 답변을 작성하실 수 있습니다.

(ಠ_ಠ)
(ಠ‿ಠ)