You need to enable JavaScript to run this app.
优惠活动
大模型
产品
解决方案
定价
更多

Python Selenium同名按钮定位:选中2022年11月对应按钮

定位新标签页内元素失败的解决方法

问题场景

需要定位HTML结构中包含“2022 November”的<div>内的按钮,该结构在各月份模块中重复出现,对应HTML代码如下:

<div class="reportTitleNonMobile ng-binding">
                                        2022 November
                                
                                        <button class="myButton" ng-show="!gridFile.monthOpen" ng-click="toggleMonthReport(gridFile)">Open</button>
                                        
                                        <button class="myButton ng-hide" ng-show="gridFile.monthOpen" ng-click="toggleMonthReport(gridFile)">Close</button>
                                
                                    </div>

遇到的问题

尝试了多种元素定位方式(Xpath、link_text、class_name等)均失败,报错信息:no such element: Unable to locate element,即使使用他人建议的Xpath也无效。在Chrome开发者工具中可以正常找到目标元素,但代码执行时始终无法定位。

问题原因

网站打开新标签页后,代码仍在原标签页中查找元素,未切换到新标签页的上下文。

解决方法

执行标签页切换代码,将浏览器上下文切换到新标签页:

driver.switch_to.window(driver.window_handles[1])

切换后即可正常定位目标元素。

内容的提问来源于stack exchange,提问作者Renison Correya

相关产品推荐
方舟 Agent Plan

超全模态模型 × Harness 升级,最新支持 Deepseek-V4.1-Flash、GLM-5.3 系列、Doubao-Seedream-5.0-pro、Kimi-K3 (部分), 限时 9.9 元起

最近更新时间:2026.08.10 22:10:43