要运行Selenium代码而不触发Cloudflare,可以使用Selenium WebDriver的 "User-Agent"选项,将其设置为一个普通的浏览器代理。这将使服务器认为该请求来自浏览器而不是Web爬虫,从而不会触发Cloudflare检查。
以下是一个使用Python编写的示例代码:
from selenium import webdriver
from selenium.webdriver.chrome.options import Options
options = Options()
options.add_argument("--disable-extensions")
options.add_argument("--disable-gpu")
options.add_argument("--disable-infobars")
options.add_argument("--disable-popup-blocking")
options.add_argument("--disable-notifications")
# 设置User-Agent为Chrome浏览器
options.add_argument("user-agent=Mozilla/5.0 (Windows NT 10.0; Win64; x64) AppleWebKit/537.36 (KHTML, like Gecko) Chrome/58.0.3029.110 Safari/537.36")
driver = webdriver.Chrome(options=options)
driver.get("https://example.com")
在上面的代码中,我们创建了一个ChromeOptions对象,并在其上设置了一系列选项,包括“user-agent”选项,该选项将使Selenium请求看起来像来自Chrome浏览器。最后,我们创建了一个Chrome WebDriver对象,并使用该选项启动了一个Chrome浏览器实例。接下来,我们可以像平常一样访问网站,而不会被Cloudflare拦截。