<div class="focusLock__28507" role="dialog" aria-label="CAPTCHA" tabindex="-1" aria-modal="true">
<div class="modal__1237a root_a28985 small_f8e677 fullscreenOnMobile__05784 rootWithShadow_d20cd6" style="opacity: 1; transform: scale(1);">
<div class="content_b28aab container__73ab0 thin__62e51 scrollerBase__65223" dir="ltr" style="overflow: hidden scroll; padding-right: 8px;">
<button aria-label="Close" type="button" class="close_c16dd6 close__1080c button__581d0 lookBlank_a5b4ca colorBrand__27d57 grow__4c8a4">
<div class="contents__322f4">
<svg aria-hidden="true" role="img" class="closeIcon__16020" width="24" height="24" viewBox="0 0 24 24">
<path fill="currentColor" d="M18.4 4L12 10.4L5.6 4L4 5.6L10.4 12L4 18.4L5.6 20L12 13.6L18.4 20L20 18.4L13.6 12L20 5.6L18.4 4Z"></path>
</svg>
</div>
</button>
<div class="content_ab6500">
<div><img src="/assets/b988a7c400d2fd2b7e5b.svg" alt=""></div>
<div class="title__1bf8a" aria-hidden="true">Wait! Are you human?</div>
<div>Confirm that you are not a robot.</div>
<div class="captchaContainer_c3b486">
<div>
<iframe src="https://newassets.hcaptcha.com/captcha/v1/344795b/static/hcaptcha.html#frame=checkbox&id=01b54n9vmua1&host=discord.com&sentry=true&reportapi=https%3A%2F%2Faccounts.hcaptcha.com&recaptchacompat=true&custom=false&hl=ru&tplinks=on&pstissuer=https%3A%2F%2Fpst-issuer.hcaptcha.com&sitekey=4c672d35-0701-42b2-88c3-78380b0db560&theme=light&origin=https%3A%2F%2Fdiscord.com"
tabindex="0" frameborder="0" scrolling="no" allow="private-state-token-issuance 'src'; private-state-token-redemption 'src'" title="A checkbox widget for hCaptcha security checks" data-hcaptcha-widget-id="01b54n9vmua1" data-hcaptcha-response=""
style="pointer-events: auto; width: 303px; height: 78px; overflow: hidden;"></iframe>
<textarea id="g-recaptcha-response-01b54n9vmua1" name="g-recaptcha-response" style="display: none;"></textarea>
<textarea id="h-captcha-response-01b54n9vmua1" name="h-captcha-response" style="display: none;"></textarea>
</div>
</div>
</div>
<div aria-hidden="true" style="position: absolute; pointer-events: none; min-height: 0px; min-width: 1px; flex: 0 0 auto; height: 0px;"></div>
</div>
</div>
</div>
def create_account(email, email_password):
def enter_username(username):
username_input = WebDriverWait(driver, 10).until(EC.presence_of_element_located((By.NAME, 'username')))
username_input.clear()
username_input.send_keys(username)
driver.find_element(By.CSS_SELECTOR, 'button[type="submit"]').click()
time.sleep(3)
username = get_random_username()
display_name = f"{username}_{random.randint(100, 999)}"
password = email_password
birth_day = str(random.randint(1, 28))
birth_month = random.choice([
"January", "February", "March", "April", "May", "June",
"July", "August", "September", "October", "November", "December"
])
birth_year = str(random.randint(1993, 2003))
driver.get('https://discord.com/register')
email_input = WebDriverWait(driver, 10).until(EC.presence_of_element_located((By.NAME, 'email')))
email_input.send_keys(email)
display_name_input = WebDriverWait(driver, 10).until(EC.presence_of_element_located((By.NAME, 'global_name')))
display_name_input.send_keys(display_name)
password_input = WebDriverWait(driver, 10).until(EC.presence_of_element_located((By.NAME, 'password')))
password_input.send_keys(password)
birth_day_input = WebDriverWait(driver, 10).until(EC.presence_of_element_located((By.XPATH, '//div[@class="day__86dab"]//input[@aria-label="День"]')))
birth_day_input.send_keys(birth_day)
birth_month_dropdown = WebDriverWait(driver, 10).until(EC.presence_of_element_located((By.XPATH, '//div[@class="month_c81b3d"]')))
birth_month_dropdown.click()
birth_month_option = WebDriverWait(driver, 10).until(EC.presence_of_element_located((By.XPATH, f'//div[contains(text(), "{birth_month.lower()}")]')))
birth_month_option.click()
birth_year_input = WebDriverWait(driver, 10).until(EC.presence_of_element_located((By.XPATH, '//div[@class="year__37788"]//input[@aria-label="Год"]')))
birth_year_input.send_keys(birth_year)
checkbox = WebDriverWait(driver, 10).until(EC.presence_of_element_located((By.CSS_SELECTOR, 'div.checkbox_fcf2ad.box__66058')))
driver.execute_script("arguments[0].click();", checkbox)
enter_username(username)
while driver.find_elements(By.CSS_SELECTOR, 'span.errorMessage_a5e469'):
username = get_random_username()
enter_username(username)
if driver.find_elements(By.CSS_SELECTOR, 'div.captchaContainer_c3b486 iframe'):
hcaptcha_iframe = WebDriverWait(driver, 20).until(EC.presence_of_element_located((By.CSS_SELECTOR, 'div.captchaContainer_c3b486 iframe')))
driver.switch_to.frame(hcaptcha_iframe)
site_key = hcaptcha_iframe.get_attribute('src').split('sitekey=')[1].split('&')[0]
driver.switch_to.default_content()
hcaptcha_response = solve_hcaptcha(site_key, driver.current_url)
driver.execute_script("document.getElementsByName('h-captcha-response')[0].style.display = 'block';")
driver.execute_script(f"document.getElementsByName('h-captcha-response')[0].innerHTML = '{hcaptcha_response}';")
driver.execute_script("document.getElementsByName('g-recaptcha-response')[0].style.display = 'block';")
driver.execute_script(f"document.getElementsByName('g-recaptcha-response')[0].innerHTML = '{hcaptcha_response}';")
driver.find_element(By.CSS_SELECTOR, 'button[type="submit"]').click()
time.sleep(5)
Traceback (most recent call last):
File "C:\Users\tishk\Downloads\discord\main.py", line 226, in <module>
result = create_account(email, email_password)
File "C:\Users\tishk\Downloads\discord\main.py", line 165, in create_account
site_key = hcaptcha_iframe.get_attribute('src').split('sitekey=')[1].split('&')[0]
File "C:\Program Files\Python310\lib\site-packages\selenium\webdriver\remote\webelement.py", line 178, in get_attribute
attribute_value = self.parent.execute_script(
File "C:\Program Files\Python310\lib\site-packages\selenium\webdriver\remote\webdriver.py", line 407, in execute_script
return self.execute(command, {"script": script, "args": converted_args})["value"]
File "C:\Program Files\Python310\lib\site-packages\selenium\webdriver\remote\webdriver.py", line 347, in execute
self.error_handler.check_response(response)
File "C:\Program Files\Python310\lib\site-packages\selenium\webdriver\remote\errorhandler.py", line 229, in check_response
raise exception_class(message, screen, stacktrace)
selenium.common.exceptions.StaleElementReferenceException: Message: stale element reference: stale element not found
(Session info: chrome=120.0.6099.130); For documentation on this error, please visit: https://www.selenium.dev/documentation/webdriver/troubleshooting/errors#stale-element-reference-exception
Stacktrace:
GetHandleVerifier [0x00007FF762252142+3514994]
(No symbol) [0x00007FF761E70CE2]
(No symbol) [0x00007FF761D176AA]
(No symbol) [0x00007FF761D279BF]
(No symbol) [0x00007FF761D1DB89]
(No symbol) [0x00007FF761D1DC93]
(No symbol) [0x00007FF761D1BF22]
(No symbol) [0x00007FF761D1F6F7]
(No symbol) [0x00007FF761D1F5A2]
(No symbol) [0x00007FF761DA316B]
(No symbol) [0x00007FF761D85FEA]
(No symbol) [0x00007FF761DA28F6]
(No symbol) [0x00007FF761D85D93]
(No symbol) [0x00007FF761D54BDC]
(No symbol) [0x00007FF761D55C64]
GetHandleVerifier [0x00007FF76227E16B+3695259]
GetHandleVerifier [0x00007FF7622D6737+4057191]
GetHandleVerifier [0x00007FF7622CE4E3+4023827]
GetHandleVerifier [0x00007FF761FA04F9+689705]
(No symbol) [0x00007FF761E7C048]
(No symbol) [0x00007FF761E78044]
(No symbol) [0x00007FF761E781C9]
(No symbol) [0x00007FF761E688C4]
BaseThreadInitThunk [0x00007FFCFEA47614+20]
RtlUserThreadStart [0x00007FFCFEB826F1+33]
selenium.common.exceptions.StaleElementReferenceException: Message: stale element reference: stale element not found
(Session info: chrome=120.0.6099.130); For documentation on this error, please visit: https://www.selenium.dev/documentation/webdriver/t...
if driver.find_elements(By.CSS_SELECTOR, 'div.captchaContainer_c3b486 iframe'):
hcaptcha_iframe = WebDriverWait(driver, 20).until(EC.presence_of_element_located((By.CSS_SELECTOR, 'div.captchaContainer_c3b486 iframe')))
# Переключили контекст на фрейм.
driver.switch_to.frame(hcaptcha_iframe)
# Не верно! Мы сменили контекст на hcaptcha_iframe,
# в нашем новом контексте нет элемента, на который ссылается hcaptcha_iframe,
# а значит, оптимальнее обратиться к driver.
#
# site_key = hcaptcha_iframe.get_attribute('src').split('sitekey=')[1].split('&')[0]
# Вот теперь правильно.
site_key = driver.find_element(By.TAG_NAME, 'iframe').get_attribute('src').split('sitekey=')[1].split('&')[0]
driver.switch_to.default_content()