Skip to content

Instantly share code, notes, and snippets.

@aorzh
Forked from tribela/captcha.py
Created November 16, 2016 17:44
Show Gist options
  • Select an option

  • Save aorzh/bbefdd030805fd5a47d8f5df16f31cde to your computer and use it in GitHub Desktop.

Select an option

Save aorzh/bbefdd030805fd5a47d8f5df16f31cde to your computer and use it in GitHub Desktop.

Revisions

  1. @tribela tribela renamed this gist Feb 13, 2016. 1 changed file with 0 additions and 0 deletions.
    File renamed without changes.
  2. @tribela tribela created this gist Feb 11, 2016.
    48 changes: 48 additions & 0 deletions capcha.py
    Original file line number Diff line number Diff line change
    @@ -0,0 +1,48 @@
    import time
    from selenium import webdriver

    driver = webdriver.Firefox()

    driver.get('https://www.google.com/recaptcha/api2/demo')

    captcha_frame = driver.find_element_by_css_selector('iframe[src*="api2/anchor"]')
    driver.switch_to_frame(captcha_frame)
    driver.find_element_by_css_selector('.recaptcha-checkbox-checkmark').click()
    driver.switch_to_default_content()
    while 1:
    try:
    image_frame = driver.find_element_by_css_selector('iframe[src*="api2/frame"]')
    except:
    time.sleep(1)
    continue
    else:
    break
    driver.switch_to_frame(image_frame)

    time.sleep(2)

    images = driver.find_element_by_css_selector('img.rc-image-tile-33')
    buttons = driver.find_elements_by_css_selector('table.rc-imageselect-table-33 td')
    verify_button = driver.find_element_by_css_selector('#recaptcha-verify-button')
    try:
    instructions = driver.find_element_by_css_selector('.rc-imageselect-desc')
    except:
    instructions = driver.find_element_by_css_selector('.rc-imageselect-desc-no-canonical')

    print(images.get_attribute('src'))
    print(instructions.text)

    inputs = map(lambda x: int(x.strip()) - 1, raw_input().split(','))

    for index in inputs:
    buttons[index].click()

    verify_button.click()

    driver.switch_to_default_content()
    time.sleep(1)
    driver.find_element_by_css_selector('input[type=submit]').click()

    time.sleep(5)

    driver.quit()