Selenium Python:点击disabled=true状态的单选按钮问题求助
解决Selenium点击带disabled属性单选按钮的问题
你的问题核心是目标单选按钮带有disabled="true"属性,直接执行点击(包括通过execute_script直接点击)会被页面交互逻辑阻止。需要先移除disabled属性,再执行点击操作;另外注意页面中两个单选按钮的id重复,定位时要精确区分。
解决步骤:
- 精确定位目标单选按钮(通过
id+value属性区分,避免定位到默认选中的第一个选项) - 使用JavaScript移除元素的
disabled属性 - 执行点击操作
完整代码示例:
from selenium.webdriver.common.by import By # 定位到"巴西"对应的单选按钮(value=1) radiobutton = navegador.find_element( By.XPATH, '//input[@id="Tomador_LocalDomicilio" and @value="1"]') # 移除disabled属性 navegador.execute_script("arguments[0].removeAttribute('disabled');", radiobutton) # 点击单选按钮 navegador.execute_script("arguments[0].click();", radiobutton)
补充说明:
- 页面中两个单选按钮使用了相同的
id,这不符合HTML规范,所以必须通过value属性辅助定位,确保选中的是你需要的选项。 - 部分页面会有额外的前端校验逻辑,移除
disabled属性后如果点击仍不生效,可以尝试触发选项对应的label标签点击,或者检查页面是否有其他需要前置操作的步骤(比如填写其他表单字段解锁该选项)。
内容的提问来源于stack exchange,提问作者Bruno Lopes
相关产品推荐
相关产品推荐

