Selenium使用中报错:We\'re sorry but hr-frontend-v2 doesn\'t work properly without JavaScript enabled

简介: Selenium使用中报错:We\'re sorry but hr-frontend-v2 doesn\'t work properly without JavaScript enabled. Please enable it to continue 这个错误提示表明目标网页要求启用JavaScript才能正常工作,而默认情况下,Selenium WebDriver是启用JavaScript的。如果遇到此错误,请按照以下步骤尝试解决问题

显示器10.jpg

Selenium使用中报错:We\'re sorry but hr-frontend-v2 doesn\'t work properly without JavaScript enabled. Please enable it to continue.这个错误提示表明目标网页要求启用JavaScript才能正常工作,而默认情况下,Selenium WebDriver是启用JavaScript的。如果遇到此错误,请按照以下步骤尝试解决问题:

1、确认Chrome WebDriver版本:确保你使用的Chrome WebDriver与你的Chrome浏览器版本匹配。如果两者不匹配,可能会导致某些JavaScript功能无法正常工作。你可以在Chrome WebDriver官方下载页面上找到与你的Chrome浏览器版本匹配的WebDriver版本。

2、更新Chrome浏览器:确保你的Chrome浏览器是最新版本。有时,旧版本的浏览器可能无法正确处理某些JavaScript功能,更新浏览器可能会解决这个问题。

3、显式等待:在你执行任何操作之前,使用Selenium的WebDriverWait显式等待确保页面完全加载完成。这可以确保所有的JavaScript代码都已经执行完毕。以下是一个示例:

fromseleniumimportwebdriverfromselenium.webdriver.support.uiimportWebDriverWaitfromselenium.webdriver.supportimportexpected_conditionsasEC# 导入Proxy类和ProxyType枚举类fromselenium.webdriver.common.proxyimportProxy, ProxyType# 亿牛云(动态转发隧道代理)爬虫代理加强版 IP地址、端口号、用户名和密码proxy_host='www.16yun.cn'proxy_port='31000'proxy_username='16YUN'proxy_password='16IP'# 创建代理对象proxy=Proxy()
proxy.proxy_type=ProxyType.MANUALproxy.http_proxy=f'http://{proxy_username}:{proxy_password}@{proxy_host}:{proxy_port}'proxy.ssl_proxy=f'http://{proxy_username}:{proxy_password}@{proxy_host}:{proxy_port}'# 将Proxy对象转换为字典capabilities=webdriver.DesiredCapabilities.CHROMEproxy.add_to_capabilities(capabilities)
# 创建一个ChromeOptions对象,并且传递代理字典options=webdriver.ChromeOptions()
options.add_argument('--proxy-server=%s'%proxy.http_proxy)
# 将ChromeOptions对象作为参数传递给Chrome WebDriver实例driver=webdriver.Chrome(options=options)
# 打开网页driver.get("http://example.com")
# 显式等待页面加载完成wait=WebDriverWait(driver, 10)  # 最多等待10秒wait.until(EC.presence_of_element_located((By.TAG_NAME, "body")))
# 进行其他操作...

4、使用无头模式:如果目标网页仍然无法正常工作,你可以尝试使用无头模式运行Chrome WebDriver。无头模式可以在后台运行浏览器,而无需显示浏览器窗口。以下是一个示例:

fromseleniumimportwebdriverfromselenium.webdriver.chrome.optionsimportOptions# 创建 Chrome WebDriver 配置chrome_options=Options()
chrome_options.add_argument("--headless")  # 启用无头模式# 创建 Chrome WebDriver 实例driver=webdriver.Chrome(options=chrome_options)
# 进行其他操作...

相关文章
|
9月前
|
Web App开发 存储 数据处理
Chrome 下载大文件报错!用 Streamsaver.js 完美填坑
本文探讨了Chrome下载大文件报“网络错误”的原因及解决方案。由于Chrome对Blob数据有大小限制,导致大文件下载失败。通过将responseType改为ArrayBuffer可临时解决1-2G文件问题,但超3G仍会崩溃。最佳方案是使用Streamsaver.js实现流式下载,边接收边保存,避免内存溢出,完美支持超大文件下载。
4881 3
|
数据采集 Web App开发 JavaScript
利用Selenium和XPath抓取JavaScript动态加载内容的实践案例
利用Selenium和XPath抓取JavaScript动态加载内容的实践案例
|
缓存 JavaScript 前端开发
mapbox没有token/token失效,地图闪烁后变空白,报错Error: A valid Mapbox access token is required to use Mapbox GL JS.
本博客介绍了mapbox如何去除token验证,暴力破解mapbox的token验证机制。一劳永逸解决mapbox地图闪现一下然后变成空白,报错Error: A valid Mapbox access token is required to use Mapbox GL JS.的方法,还介绍了类似问题的具体解决思路。 只有锻炼思维才能可持续地解决问题,只有思维才是真正值得学习和分享的核心要素。如果这篇博客能给您带来一点帮助,麻烦您点个赞支持一下,还可以收藏起来以备不时之需,有疑问和错误欢迎在评论区指出~
|
数据采集 Web App开发 JavaScript
如何使用Selenium处理JavaScript动态加载的内容?
如何使用Selenium处理JavaScript动态加载的内容?
|
JavaScript 前端开发 开发工具
【Azure Developer】使用JavaScript通过SDK进行monitor-query的client认证报错问题
AADSTS90002: Tenant 'xxxxxxxx-xxxx-xxxx-xxxx-xxxxxxxxxxxx' not found. Check to make sure you have the correct tenant ID and are signing into the correct cloud. Check with your subscription administrator, this may happen if there are no active subscriptions for the tenant.
216 1
|
JavaScript 前端开发
原生js常见报错及其处理方案
原生js常见报错及其处理方案
413 0
|
JavaScript
js 捕获 await 的报错
js 捕获 await 的报错
178 1
|
JavaScript 前端开发 Java
JS经常碰见的报错问题
JS经常碰见的报错问题
|
JavaScript UED
ab77b6ea7f3fbf79.JS代码报错什么原因?
网站出现JS报错,表现为黄色小叹号,经排查发现是360自动收录JS引起。这不仅导致页面延迟增加,还影响用户体验。解决方案是删除360的自动推送JS代码。
172 1
|
JavaScript 前端开发 C++
【Azure Function】调试 VS Code Javascript Function本地不能运行,报错 Value cannot be null. (Parameter 'provider')问题
【Azure Function】调试 VS Code Javascript Function本地不能运行,报错 Value cannot be null. (Parameter 'provider')问题
283 0