Business
Jobs
  • About Us
  • Solutions
    • Job Postings
      Post your job and receive qualified candidates in 48h.
    • Candidate Assessments
      500+ technical and psychological tests, plus anti-fraud.
    • Headhunting
      Tailor-made executive search from start to finish.
    • Payroll + EOR
      Payroll dispersal and EOR across 15+ LATAM countries.
  • Pricing
  • Jobs

0

173
Views
Having Javascript Error: "Illegal invocation" while submit JS script using Python Selenium Webdriver

I am trying to bypass (auto solving) captcha while login a website. But when I run an JS scripts after received the answer code from 2Captcha, I got javascript error: Illegal invocation. Here is my code:

u1 = f"https://2captcha.com/in.php?key={API_KEY}&method=userrecaptcha&googlekey={data_sitekey}&pageurl={page_url}&json=1&invisible=1"
    r1 = requests.get(u1)
    print(r1.json())
    rid = r1.json().get("request")
    u2 = f"https://2captcha.com/res.php?key={API_KEY}&action=get&id={int(rid)}&json=1"
    time.sleep(5)
    while True:
        r2 = requests.get(u2)
        print(r2.json())
        if r2.json().get("status") == 1:
            form_token = r2.json().get("request")
            break
        time.sleep(5)
    write_tokon_js = f'document.getElementById("g-recaptcha-response").innerHTML="{form_token}";'
    submit_js = "document.createElement('form').submit.call(document.getElementsByClassName('button')[0]);"
    driver.execute_script(write_tokon_js)
    time.sleep(3)
    driver.execute_script(submit_js)
    time.sleep(10)

At first, I tried to submit form using document.getElementsByClassName('button')[0].submit() but after a while of researching on google and stackoverflow, i realized that a website i am trying to automate having so many button class and it won't work so i changed to the above code.

I think there is something wrong in my submit_js but I don't know exactly why, I am not familiar with Javascript . Please help me fix it.

EDIT 1 Here is the HTML code of a button i am trying to submit:

<p class="submit">
<input type="hidden" name="action" value="register_handler">
<input type="hidden" name="jnews_nonce" value="36b5269a22">
<input type="submit" name="jeg_login_button" class="button" value="Đăng ký" data-process="Processing . . ." data-string="Đăng ký">
</p>

I think the problem is this is just a button, not a form, that's why I can't submit it. But I don't know how to submit (I tried to click the button using Webdriver after put in code received from 2captcha inside "g-recaptcha-response" but it always return Invalid Captcha, seem like the only way to continue is submit using JS scripts but I still don't know how)

about 4 years ago · Juan Pablo Isaza
Answer question
Find remote jobs

Discover the new way to find a job!

Top jobs
Top job categories
Business
Post vacancy Pricing Sales
Legal
Terms and conditions Privacy policy
© 2026 PeakU Inc. All Rights Reserved.
Andres GPT
Show me some job opportunities
There's an error!