2017-10-26 9 views
0

저는 python으로 셀렌으로 스크립트를 작성하여 웹 페이지를 입력하고 일부 이름을 긁어 냈습니다. 그러나 웹 페이지에 들어가면 브라우저가 captcha를 해결하는 인간 검증 테스트를 수행해야합니다. 나는 captcha 옆에 상자를 체크하려고했지만 전혀 작동하지 않는 것 같습니다. 이 상황에서 웹 페이지에 들어가서 일부 이름을 입력하려면 어떻게해야합니까?내 스크립트를 사용하여 웹 페이지를 입력 할 수 없습니다.

from selenium import webdriver 
from selenium.webdriver.common.by import By 
from selenium.webdriver.support.ui import WebDriverWait 
from selenium.webdriver.support import expected_conditions as EC 

driver = webdriver.Chrome() 
wait = WebDriverWait(driver, 10) 
driver.get(link_given_below) 

try: 
    wait.until(EC.presence_of_element_located((By.ID, "recaptcha-anchor"))).click() 
except:pass 

for item in wait.until(EC.presence_of_all_elements_located((By.CSS_SELECTOR,".row .h4"))): 
    print(item.text) 

driver.quit() 

링크 This_One는 스크레이퍼 내에서 사용할 수 :

이것은 내가 지금까지 시도한 것입니다. captcha를 내

요소가 포함 :

<div class="rc-anchor-content"><div class="rc-inline-block"><div class="rc-anchor-center-container"><div class="rc-anchor-center-item rc-anchor-checkbox-holder"><span class="recaptcha-checkbox goog-inline-block recaptcha-checkbox-unchecked rc-anchor-checkbox recaptcha-checkbox-hover" role="checkbox" aria-checked="false" id="recaptcha-anchor" tabindex="0" dir="ltr" aria-labelledby="recaptcha-anchor-label"><div class="recaptcha-checkbox-border" role="presentation"></div><div class="recaptcha-checkbox-borderAnimation" role="presentation"></div><div class="recaptcha-checkbox-spinner" role="presentation"></div><div class="recaptcha-checkbox-spinnerAnimation" role="presentation"></div><div class="recaptcha-checkbox-checkmark" role="presentation"></div></span></div></div></div><div class="rc-inline-block"><div class="rc-anchor-center-container"><label class="rc-anchor-center-item rc-anchor-checkbox-label" aria-hidden="true" role="presentation" id="recaptcha-anchor-label"><span aria-labelledby="recaptcha-accessible-status"></span>I'm not a robot</label></div></div></div> 

답변

1

CAPTCHA는이 셀레늄을 사용하여 자동화 할 수없는 이유의 웹 사이트 자동화 &을 중지하는 데 사용됩니다. Adn 같은 이유로 CAPTCHA 체크 박스를 선택할 수 없습니다. 자세한 내용은 다음 링크를 참조하십시오. https://sqa.stackexchange.com/questions/17022/how-to-fill-captcha-using-test-automation

+0

@ Kuldeep Kamune, 입력 해 주셔서 감사합니다. 셀레늄을 사용하여 자동화 할 수 없다고 말하는 경우 틀린 것입니다. 대신에 어렵거나 어려운 말을해야합니다. 방금 했어. 셀레늄을로드 한 후 페이지를 40 초 동안 기다렸다가 수동으로 'captcha'를 해결하고 수동으로 체크 박스를 선택하고 마지막으로 내용을 자동으로 긁어 냈습니다. 나는 완벽한 자동화를 요구하지 않았다. 오히려, 나는 내용을 긁어 내고 싶었고 그것은 방금 말한 방법을 사용하여 한 것입니다. – shayan