Mình thử viết chương trình tự động đăng nhập https://faucetcrypto.com/login
Mình có một vấn đề là nút Login bị ẩn và thường phải nhấn vào đó để giải Recaptcha, nếu vượt qua thì sẽ hiện sáng nút Login để nhấn nhưng trong trường hợp này mình dùng giải Captcha tự động bởi Capmonter và thực thi điền Captcha bằng token.
Mình không biết làm thế để nhấn vào nút Login ẩn.Anh chị em nào biết thì giúp mình nhé !
Thanks
Mã nguồn :
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
import time
import requests
import getpass
import json
import os
MyEmail = "[email protected]"
MyPassword = "xxxxxx"
chromeOption = webdriver.ChromeOptions()
chromeOption.add_experimental_option("excludeSwitches", ["enable-automation"])
chromeOption.add_experimental_option('useAutomationExtension', False)
chromeOption.add_argument("--disable-notifications")
chromeOption.add_argument('--disable-blink-features=AutomationControlled')
browser = webdriver.Chrome(executable_path="C:\\chromedriver",chrome_options=chromeOption)
browser.get("https://faucetcrypto.com/login")
Fill_Email = browser.find_element_by_xpath("//div//input[@type='email']")
Fill_Email.send_keys(MyEmail)
Fill_Pass = browser.find_element_by_xpath("//div//input[@type='password']")
Fill_Pass.send_keys(MyPassword)
capmonster_key="xxxxxxxxxxx"
current_url=browser.current_url
recaptcha_key="6LdMWVMUAAAAAEJEZEfFAxCbptz02TZPzZtMfNQF"
url ="http://api.capmonster.cloud/in.php?key="+capmonster_key+"&method=userrecaptcha&googlekey="+recaptcha_key+"&pageurl="+current_url
resp = requests.get(url)
if resp.text[0:2] != 'OK' :
quit('Error. Captcha is not received')
captcha_id = resp.text[3:]
fetch_url = "http://api.capmonster.cloud/res.php?key="+capmonster_key+"&action=get&id=" + captcha_id
for i in range(1, 20):
time.sleep(5) # wait 5 sec.
resp = requests.get(fetch_url)
if resp.text[0:2] == 'OK':
break
browser.execute_script("""
document.getElementById("g-recaptcha-response").innerHTML = arguments[0]
""", resp.text[3:])
print("In ra Token")
print(resp.text[3:])
Press_Login=browser.find_element_by_xpath("//*[contains(text(),'Login')]")
Press_Login.click()
time.sleep(100000)