繁体   English   中英

无法建立连接,因为目标机器主动拒绝它 Python

[英]No connection could be made because the target machine actively refused it Python

所以我一直卡在这里无法转发go大约2周。 我试图找到一个元素并截取它的屏幕截图,但我一直收到这个

No connection could be made because the target machine actively refused it

这是我要获取的元素:

<img id="action_captcha" src="URL HERE" alt="CAPTCHA code" style="vertical-align:middle;">

这是我的代码:

try:
    print("1")
    element = WebDriverWait(driver, 10).until(
        EC.presence_of_element_located((By.ID, "action_captcha"))
    )
    print("2")
    image = element.screenshot("Captcha.png")
    print("3")
except Exception as e:
    print(e)

我得到的只是

1
No connection could be made because the target machine actively refused it

我知道没有防火墙阻止连接,因为我在同一个浏览器实例中得到了很多元素。 我不知道是什么问题。 任何帮助表示赞赏。 谢谢。

“主动拒绝”意味着当您尝试连接时,主机发送了重置而不是确认。 因此,这在您的代码中不是问题。 要么是防火墙阻止了连接,要么是托管服务的进程没有在那个端口上侦听,这可能是因为它根本没有运行或者因为它在不同的端口上侦听。

您可以在包含浏览器元素的页面中导航吗? 我毫无问题地使用了相同的代码,并且成功地从工作站点制作了验证码的屏幕截图。

在另一个页面中尝试一个示例,以确保所有内容都被阻止从您尝试访问的页面。

例如:

driver.get("https://captchas.net/")
element = WebDriverWait(driver, 10).until(
    EC.presence_of_element_located((By.ID, "captcha_pic"))
)
image = element.screenshot("Captcha.png")

我不愿意承认我已经在这个问题上停留了 2 周,在发布问题 3 小时后,我解决了它。

我收到此错误的原因是因为我在 function 中初始化了驱动程序,所以我不得不将其作为参数传递。 这就是我的意思:

def f():
    try:
        #Initaiates the chrome browser
        driver = webdriver.Chrome(path, options=options)
        driver.get(URL)
        x()

    #Catches any errors that might occur
    except Exception as e:
        print(e)
        print("Error")
        driver.quit()

def x():
    try:
        element = WebDriverWait(browser, 10).until(
            EC.presence_of_element_located((By.ID, "action_captcha"))
        )
        
        image = element.screenshot("C:\\Users\\moham\\Desktop\\TLS\\Webscraping\\TLS Appointment\\Captchas\\Original Captcha.png")
    except Exception as e:
        print(e)

所以在这里我必须像这样初始化 X

def x(browser):
    ......

然后这样称呼它

x(driver)

NGL 对我来说有点愚蠢。

暂无
暂无

声明:本站的技术帖子网页,遵循CC BY-SA 4.0协议,如果您需要转载,请注明本站网址或者原文地址。任何问题请咨询:yoyou2525@163.com.

 
粤ICP备18138465号  © 2020-2024 STACKOOM.COM