Chrome113版本Selenium报错:Object.hasOwn不是函数求解决方案
解决方案
针对Chrome 113.0.5672.93更新后Selenium出现的Object.hasOwn is not a function报错,尤其是find_elements操作失败的问题,可尝试以下方案:
升级Selenium到兼容版本
Chrome 113要求Selenium版本至少为4.9.0,执行命令直接升级:pip install --upgrade selenium升级后Selenium会自动管理匹配版本的ChromeDriver,从根源避免版本不兼容问题。
手动同步ChromeDriver版本
如果升级Selenium后问题仍存在,手动下载与Chrome版本完全一致的ChromeDriver(113.0.5672.93),替换现有驱动文件,并确保驱动路径配置正确。用execute_script替代find_elements
若暂时无法升级,可通过原生JS查询元素绕过Selenium内置方法的兼容性问题,示例代码:# 查找所有class为target-class的元素 elements = driver.execute_script("return document.querySelectorAll('.target-class');") # 按XPath查找元素并转换为可遍历列表 xpath_result = driver.execute_script("return document.evaluate('//div[@id=\"target-id\"]', document, null, XPathResult.ORDERED_NODE_SNAPSHOT_TYPE, null);") elements_list = [xpath_result.snapshotItem(i) for i in range(xpath_result.snapshotLength)]重置Chrome浏览器设置
检查Chrome是否开启了兼容性视图或强制使用旧版JS引擎,重置浏览器默认设置后再测试操作。
内容的提问来源于stack exchange,提问作者Tugay
相关产品推荐
相关产品推荐

