前往小程序,Get更优阅读体验!
立即前往
首页
学习
活动
专区
圈层
工具
发布
首页
学习
活动
专区
圈层
工具
MCP广场
社区首页 >专栏 >Selenium使用中报错:doesn\'t work properly without JavaScript enabled.

Selenium使用中报错:doesn\'t work properly without JavaScript enabled.

原创
作者头像
jackcode
修改2023-05-16 14:43:20
修改2023-05-16 14:43:20
5.8K00
代码可运行
举报
文章被收录于专栏:爬虫资料爬虫资料
运行总次数:0
代码可运行
亿牛云代理
亿牛云代理

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代码都已经执行完毕。以下是一个示例:

代码语言:python
代码运行次数:0
运行
复制
from selenium import webdriver
from selenium.webdriver.support.ui import WebDriverWait
from selenium.webdriver.support import expected_conditions as EC
# 导入Proxy类和ProxyType枚举类
from selenium.webdriver.common.proxy import Proxy, ProxyType

# 亿牛云(动态转发隧道代理)爬虫代理加强版 IP地址、端口号、用户名和密码
proxy_host = 'www.16yun.cn'
proxy_port = '31000'
proxy_username = '16YUN'
proxy_password = '16IP'

# 创建代理对象
proxy = Proxy()
proxy.proxy_type = ProxyType.MANUAL
proxy.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.CHROME
proxy.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。无头模式可以在后台运行浏览器,而无需显示浏览器窗口。以下是一个示例:

代码语言:python
代码运行次数:0
运行
复制
from selenium import webdriver
from selenium.webdriver.chrome.options import Options

# 创建 Chrome WebDriver 配置
chrome_options = Options()
chrome_options.add_argument("--headless")  # 启用无头模式

# 创建 Chrome WebDriver 实例
driver = webdriver.Chrome(options=chrome_options)

# 进行其他操作...

原创声明:本文系作者授权腾讯云开发者社区发表,未经许可,不得转载。

如有侵权,请联系 cloudcommunity@tencent.com 删除。

原创声明:本文系作者授权腾讯云开发者社区发表,未经许可,不得转载。

如有侵权,请联系 cloudcommunity@tencent.com 删除。

评论
登录后参与评论
0 条评论
热度
最新
推荐阅读
领券
问题归档专栏文章快讯文章归档关键词归档开发者手册归档开发者手册 Section 归档