Warning: file_get_contents(/data/phpspider/zhask/data//catemap/2/python/336.json): failed to open stream: No such file or directory in /data/phpspider/zhask/libs/function.php on line 167

Warning: Invalid argument supplied for foreach() in /data/phpspider/zhask/libs/tag.function.php on line 1116

Notice: Undefined index: in /data/phpspider/zhask/libs/function.php on line 180

Warning: array_chunk() expects parameter 1 to be array, null given in /data/phpspider/zhask/libs/function.php on line 181

Warning: file_get_contents(/data/phpspider/zhask/data//catemap/8/selenium/4.json): failed to open stream: No such file or directory in /data/phpspider/zhask/libs/function.php on line 167

Warning: Invalid argument supplied for foreach() in /data/phpspider/zhask/libs/tag.function.php on line 1116

Notice: Undefined index: in /data/phpspider/zhask/libs/function.php on line 180

Warning: array_chunk() expects parameter 1 to be array, null given in /data/phpspider/zhask/libs/function.php on line 181
Python 2卡普查API+;硒_Python_Selenium_2captcha - Fatal编程技术网

Python 2卡普查API+;硒

Python 2卡普查API+;硒,python,selenium,2captcha,Python,Selenium,2captcha,所以我正在使用这个2captcha API,并在像omegle.com这样的网站上测试它。 验证码解决发生了,但是谷歌验证码框没有被勾选,什么也没有发生。不知道为什么,我知道2captcha API运行得很好。。。但它是否只适用于HTTP请求而不适用于selenium 下面是我插入到下面代码中的API链接: 我希望你已经找到了一个解决方案,但我想给那些可能陷入同样困境的人留下一点意见 该API也适用于Selenium 该复选框不会被勾选,它由ReCaptcha javascript控制,您不会

所以我正在使用这个2captcha API,并在像omegle.com这样的网站上测试它。 验证码解决发生了,但是谷歌验证码框没有被勾选,什么也没有发生。不知道为什么,我知道2captcha API运行得很好。。。但它是否只适用于HTTP请求而不适用于selenium

下面是我插入到下面代码中的API链接:


我希望你已经找到了一个解决方案,但我想给那些可能陷入同样困境的人留下一点意见

  • 该API也适用于Selenium
  • 该复选框不会被勾选,它由ReCaptcha javascript控制,您不会触摸它
  • 您需要做的就是将令牌放入
    g-recaptcha-response
    字段中。使用Selenium,您可以通过执行JavaScript来实现这一点
  • 在您的情况下,由于没有提交表单的内容,您也必须执行JavaScript回调函数。例如:

  • 回调函数的路径会发生变化,因此您需要在
    \uuuuu grecaptcha\u cfg
    对象中找到一个有效的回调函数。

    我希望您已经找到了解决方案,但希望为那些可能在同一点上陷入困境的人留下评论

  • 该API也适用于Selenium
  • 该复选框不会被勾选,它由ReCaptcha javascript控制,您不会触摸它
  • 您需要做的就是将令牌放入
    g-recaptcha-response
    字段中。使用Selenium,您可以通过执行JavaScript来实现这一点
  • 在您的情况下,由于没有提交表单的内容,您也必须执行JavaScript回调函数。例如:
  • 回调函数的路径会发生变化,因此您需要在
    \uuuuuu grecaptcha\ucfg
    对象中找到一个有效的回调函数

    from selenium import webdriver
    from time import sleep
    from selenium.common.exceptions import InvalidElementStateException
    from selenium.common.exceptions import UnexpectedAlertPresentException
    import time,os
    import requests
    
    fp = webdriver.FirefoxProfile('C:\\Users\\mo\\AppData\\Roaming\\Mozilla\\Firefox\\Profiles\\b0wnbtro.dev-edition-default')
    interest = input("Enter the interests seperate by a comma ")
    msg1 = "1"
    msg2 ="2"
    msg3 = "3"
    msg4 = "4"
    driver = webdriver.Firefox(fp)
    
    #2CAPTCHA API CODE INSERTED HERE FOR A TEST RUN BEFORE BEING INCORPORATED IN A LOOP
    
    def main():
        try:
            driver.get('http://www.omegle.com')
            time.sleep(1)
            #driver.find_elements_by_xpath("//*[contains(text(), 'I'm not a robot')]")
            #send.click()
            driver.find_element_by_xpath('//textarea[@rows="3"]').clear()
            message = driver.find_element_by_xpath('//textarea[@rows="3"]')
            time.sleep(3)
            message.send_keys(msg1)
            send = driver.find_element_by_xpath('//button[@class="sendbtn"]')
            send.click()
            time.sleep(6)
            message.send_keys(msg2)
            send = driver.find_element_by_xpath('//button[@class="sendbtn"]')
            send.click()
            time.sleep(10)
            message.send_keys(msg3)
            send = driver.find_element_by_xpath('//button[@class="sendbtn"]')
            send.click()
            time.sleep(25)
            message.send_keys(msg4)
            send = driver.find_element_by_xpath('//button[@class="sendbtn"]')
            send.click()
            disconnect = driver.find_element_by_xpath('//button[@class="disconnectbtn"]')
            disconnect.click()
            disconnect = driver.find_element_by_xpath('//button[@class="disconnectbtn"]')
            disconnect.click()
            disconnect = driver.find_element_by_xpath('//button[@class="disconnectbtn"]')
            disconnect.click()
        except (InvalidElementStateException, UnexpectedAlertPresentException):
                main2()
    
    def main2():
        try:           
            driver.get('http://www.omegle.com')
            interest1 = driver.find_element_by_xpath('//input[@class="newtopicinput"]')
            interest1.send_keys(interest)
            btn = driver.find_element_by_id("textbtn")
            btn.click()
            time.sleep(5)
            driver.find_element_by_xpath('//textarea[@rows="3"]').clear()
            message = driver.find_element_by_xpath('//textarea[@rows="3"]')
            time.sleep(1)
            time.sleep(2)
            message.send_keys(msg1)
            send = driver.find_element_by_xpath('//button[@class="sendbtn"]')
            send.click()
            time.sleep(6)
            message.send_keys(msg2)
            send.click()
            time.sleep(10)
            message.send_keys(msg3)
            send.click()
            time.sleep(25)
            message.send_keys(msg4)
            send.click()
            send.click()
            disconnect = driver.find_element_by_xpath('//button[@class="disconnectbtn"]')
            disconnect.click()
    
        except (InvalidElementStateException,UnexpectedAlertPresentException) :
                disconnect = driver.find_element_by_xpath('//button[@class="disconnectbtn"]')
                disconnect.click()
        else:
            main2()       
    
    while True:
        try:
            main2()
        except (InvalidElementStateException,UnexpectedAlertPresentException) :
            main()
    
    document.querySelector('#g-recaptcha-response').textContent='token_string'
    
    ___grecaptcha_cfg.clients[0].NY.N.callback('token_string')