Selenium 无法打开第二页
Selenium can't open a second page
我正在使用 Selenium 打开网站的不同页面。已尝试多次,但浏览器在初始 GET 调用后未打开第二个网页。 Chrome 和 Safari 都试过了。这是我的代码:
driver = webdriver.Chrome()
driver.get("https://www.justdial.com/Chennai/Hr-Consultancy-Services/nct-10258625/page-2")
driver.set_page_load_timeout(30)
driver.get("https://www.justdial.com/Chennai/Hr-Consultancy-Services/nct-10258625/page-3")
这是第二次调用时出现的错误:
来自网络日志的信息是错误 504,但我已经验证它在另一个 window 浏览器上完成后可以完美运行,没有自动化
options.add_experimental_option(
"excludeSwitches", ['enable-automation'])
options.add_argument(
"user-agent=Mozilla/5.0 (Windows NT 10.0; Win64; x64) AppleWebKit/537.36 (KHTML, like Gecko) Chrome/87.0.4280.88 Safari/537.36")
options.add_argument("--remote-debugging-port=9222")
driver = webdriver.Chrome(options=options)
driver.get(
"https://www.justdial.com/Chennai/Hr-Consultancy-Services/nct-10258625/page-2")
driver.set_page_load_timeout(30)
driver.get(
"https://www.justdial.com/Chennai/Hr-Consultancy-Services/nct-10258625/page-3")
网站正在检测上面代码的自动化使用:)
您也可以单行执行此操作
只需添加以下参数:
options.add_argument('--disable-blink-features=AutomationControlled')
禁用 enable-automation 或禁用自动化控制器会禁用 webdriver.navigator 很少有网站使用它来检测自动化脚本
关于您的用例的更多信息将有助于构建更规范的答案。但是,我能够使用最小化的代码块访问 Page 2 of justdial.com/Chennai/Hr-Consultancy-Services,如下所示:
代码块:
from selenium import webdriver
options = webdriver.ChromeOptions()
options.add_argument("start-maximized")
driver = webdriver.Chrome(options=options, executable_path=r'C:\WebDrivers\chromedriver.exe')
driver.get("https://www.justdial.com/Chennai/Hr-Consultancy-Services/nct-10258625/page-2")
浏览器快照:
但是同时发送多个get()
一个接一个:
driver.get("https://www.justdial.com/Chennai/Hr-Consultancy-Services/nct-10258625/page-2")
driver.get("https://www.justdial.com/Chennai/Hr-Consultancy-Services/nct-10258625/page-3")
好像是,出现了如下错误:
An error occurred while processing your request.
Reference #97.e5732c31.1612205693.6fd2708
解决方案
要避免检测,您可以添加以下选项:
--disable-blink-features=AutomationControlled
例子
from selenium import webdriver
options = webdriver.ChromeOptions()
options.add_argument("start-maximized")
options.add_argument('--disable-blink-features=AutomationControlled')
driver = webdriver.Chrome(options=options, executable_path=r'C:\WebDrivers\chromedriver.exe')
driver.get("https://www.justdial.com/Chennai/Hr-Consultancy-Services/nct-10258625/page-2")
driver.get("https://www.justdial.com/Chennai/Hr-Consultancy-Services/nct-10258625/page-3")
我正在使用 Selenium 打开网站的不同页面。已尝试多次,但浏览器在初始 GET 调用后未打开第二个网页。 Chrome 和 Safari 都试过了。这是我的代码:
driver = webdriver.Chrome()
driver.get("https://www.justdial.com/Chennai/Hr-Consultancy-Services/nct-10258625/page-2")
driver.set_page_load_timeout(30)
driver.get("https://www.justdial.com/Chennai/Hr-Consultancy-Services/nct-10258625/page-3")
这是第二次调用时出现的错误:
来自网络日志的信息是错误 504,但我已经验证它在另一个 window 浏览器上完成后可以完美运行,没有自动化
options.add_experimental_option(
"excludeSwitches", ['enable-automation'])
options.add_argument(
"user-agent=Mozilla/5.0 (Windows NT 10.0; Win64; x64) AppleWebKit/537.36 (KHTML, like Gecko) Chrome/87.0.4280.88 Safari/537.36")
options.add_argument("--remote-debugging-port=9222")
driver = webdriver.Chrome(options=options)
driver.get(
"https://www.justdial.com/Chennai/Hr-Consultancy-Services/nct-10258625/page-2")
driver.set_page_load_timeout(30)
driver.get(
"https://www.justdial.com/Chennai/Hr-Consultancy-Services/nct-10258625/page-3")
网站正在检测上面代码的自动化使用:)
您也可以单行执行此操作
只需添加以下参数:
options.add_argument('--disable-blink-features=AutomationControlled')
禁用 enable-automation 或禁用自动化控制器会禁用 webdriver.navigator 很少有网站使用它来检测自动化脚本
关于您的用例的更多信息将有助于构建更规范的答案。但是,我能够使用最小化的代码块访问 Page 2 of justdial.com/Chennai/Hr-Consultancy-Services,如下所示:
代码块:
from selenium import webdriver options = webdriver.ChromeOptions() options.add_argument("start-maximized") driver = webdriver.Chrome(options=options, executable_path=r'C:\WebDrivers\chromedriver.exe') driver.get("https://www.justdial.com/Chennai/Hr-Consultancy-Services/nct-10258625/page-2")
浏览器快照:
但是同时发送多个get()
一个接一个:
driver.get("https://www.justdial.com/Chennai/Hr-Consultancy-Services/nct-10258625/page-2")
driver.get("https://www.justdial.com/Chennai/Hr-Consultancy-Services/nct-10258625/page-3")
好像是
An error occurred while processing your request.
Reference #97.e5732c31.1612205693.6fd2708
解决方案
要避免检测,您可以添加以下选项:
--disable-blink-features=AutomationControlled
例子
from selenium import webdriver
options = webdriver.ChromeOptions()
options.add_argument("start-maximized")
options.add_argument('--disable-blink-features=AutomationControlled')
driver = webdriver.Chrome(options=options, executable_path=r'C:\WebDrivers\chromedriver.exe')
driver.get("https://www.justdial.com/Chennai/Hr-Consultancy-Services/nct-10258625/page-2")
driver.get("https://www.justdial.com/Chennai/Hr-Consultancy-Services/nct-10258625/page-3")