python 5秒盾
在做网页自动化的时候用python启动网页输入网址,经常被盾,不能正常进入
10条回答 默认 最新
- 星空下0516 2022-04-16 08:53关注
获得5.00元问题酬金 这里有是那种解决方式,https://localcoder.org/selenium-stuck-on-checking-your-browser-before-accessing-url
方法1:
from selenium import webdriver url = "<WEBSITE>" options = webdriver.ChromeOptions() options.add_argument("--disable-blink-features=AutomationControlled") driver = webdriver.Chrome(options=options) driver.get(url)
还需要修改:
perl -pi -e 's/cdc_/dog_/g' /path/to/chromedriver
程序需要修改:
import undetected_chromedriver as uc url = "<WEBSITE>" driver= uc.Chrome() driver.get(url)
方法2:
这是因为浏览器使用cloudfare保护自己免受DDOS(分布式拒绝服务)攻击。有两种方法可以解决这个问题:
如果网页加载需要5秒钟,只需使用时间。
使用WebDriverWait——例如,id为“sample btn”的按钮仅显示在此屏幕之后。那么你能做的就是:from selenium.webdriver.support.ui import WebDriverWait from selenium.webdriver.support import expected_conditions as EC from selenium.webdriver.common.by import By btn = WebDriverWait(driver, 10).until(EC.presence_of_element_located((By.ID, 'sample-btn'))) #Web driver waits for 10 seconds until element is visible
如果方法2好用,推荐2.
方法3:from selenium import webdriver from webdriver_manager.chrome import ChromeDriverManager from webdriver_manager.utils import ChromeType # Configure browser options = webdriver.ChromeOptions() options.add_argument(f"--user-data-dir=C:\\Users\\daria\\AppData\\Local\\Google\\Chrome\\User Data") options.add_argument("--disable-blink-features=AutomationControlled") chromedriver = ChromeDriverManager(chrome_type=ChromeType.GOOGLE, log_level='0', print_first_line=False).install() driver = webdriver.Chrome(chromedriver, options=options, service_log_path=None) input ("End?")
解决 1无用
悬赏问题
- ¥20 腾讯企业邮箱邮件可以恢复么
- ¥15 有人知道怎么将自己的迁移策略布到edgecloudsim上使用吗?
- ¥15 错误 LNK2001 无法解析的外部符号
- ¥50 安装pyaudiokits失败
- ¥15 计组这些题应该咋做呀
- ¥60 更换迈创SOL6M4AE卡的时候,驱动要重新装才能使用,怎么解决?
- ¥15 让node服务器有自动加载文件的功能
- ¥15 jmeter脚本回放有的是对的有的是错的
- ¥15 r语言蛋白组学相关问题
- ¥15 Python时间序列如何拟合疏系数模型