如何使用python从chrome控制台找到js元素

z3yyvxxp  于 2021-07-13  发布在  Java
关注(0)|答案(0)|浏览(235)

我有一个代码来解决recaptcha使用python selenium ,一切正常。
我只想改进它>每当运行这段代码时,我想确保js元素 ___grecaptcha_cfg.clients[0].I.I 是正确的。此元素可以不时旋转为不同的值,例如: ___grecaptcha_cfg.clients[0].J.J ___grecaptcha_cfg.clients[0].Gq.X. ___grecaptcha_cfg.clients[0].aa.l. 您可以看到最后两项可以更改。
我只知道如何在chrome上手动检查,看图片,
在此处输入图像描述
但是用 selenium 检查一下怎么样?这样我就可以自动应用到我的代码中。
这是我的代码,有很多代码,但是你可以看到我在selenium中应用这个js元素的最后一行:


# request post send to 2captcha------------------

my_request_post = rf"https://2captcha.com/in.php" \
                  rf"?key={my_api}" \
                  rf"&method={method}" \
                  rf"&invisible=1" \
                  rf"&googlekey={data_sitekey}" \
                  rf"&pageurl={my_url}"

# request ticket from recaptcha v2-----------------------

startime = time.time()
print('start request to 2captcha')
resp = requests.get(my_request_post)
if resp.text[0:2] != 'OK':
quit('Service error. Error code:' + resp.text)
print(f'return captcha_id:  {resp.text}')
captcha_id = resp.text[3:]     # get the ticket

# the request post with ticket ask for solving recaptcha----------------------

request_2captcha =  rf'https://2captcha.com/res.php' \
                    rf'?key={my_api}' \
                    rf'&action=get' \
                    rf'&json=0' \
                    rf'&id={captcha_id}'

# as offical document suggested, wait for 15 secs-----------------

print('wait for 15 sec')
time.sleep(15)

for i in range(1, 50):
    time.sleep(5) # wait 5 sec
    resp = requests.get(request_2captcha)
    print(f'attempt request cycle: {i}  | resp.text: {resp.text}')
    if resp.text[0:2] == 'OK':
        break

# vialidation code that apply back to the site----------------------------

result  = resp.text[3:]  
driver.execute_script(f'document.getElementById("g-recaptcha-response").innerHTML = "{result}"')  
driver.execute_script(f"___grecaptcha_cfg.clients[0].I.I.callback = '{result}'")

暂无答案!

目前还没有任何答案,快来回答吧!

相关问题