python - 无法建立连接,因为目标机器主动拒绝它 Python
问题描述
所以我被困在这里无法前进大约 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
我知道没有防火墙阻止连接,因为在此之前我在同一个浏览器实例中有很多元素。我不知道是什么问题。任何帮助表示赞赏。谢谢。
解决方案
“主动拒绝它”意味着当您尝试连接时主机发送了重置而不是确认。因此,这在您的代码中不是问题。防火墙阻止了连接,或者托管服务的进程没有在该端口上侦听,这可能是因为它根本没有运行,或者因为它正在侦听不同的端口。
您可以在包含浏览器元素的页面中导航吗?我毫无问题地使用了相同的代码,并且成功地从工作站点制作了 Captcha 的屏幕截图。
在另一个页面中尝试一个示例,以确保您尝试访问的页面中的所有内容都被阻止。
例如:
driver.get("https://captchas.net/")
element = WebDriverWait(driver, 10).until(
EC.presence_of_element_located((By.ID, "captcha_pic"))
)
image = element.screenshot("Captcha.png")
推荐阅读
- excel - 使用当前年份而不是时间戳的文本到列(日期)
- user-interface - 如何在颤动中对齐 TabBar 的元素?
- java - Spring 数据、Oracle DB、java.sql.SQLException:数值溢出
- c - 如何可靠地使 send(2) 进行短发送?
- android - Koin - 使用泛型类型注入
- python - 在 Bash 脚本中忽略 Source 命令失败
- wpf - WPF:绘图上下文分辨率
- shiny - 带有嵌套模块的 bs4Dash 中未显示闪亮的输出元素
- android - 有没有办法可以通知应用程序来自设备的指纹已被取消注册?
- amazon-web-services - AWS EC2 实例网络上升