Python Selenium无法点击Reddit注册signup按钮解决方法
Selenium操作Reddit注册页无法点击Signup按钮问题
问题场景
- 目标地址:Reddit账号注册页面
- 操作进度:已完成所有注册字段填写、弹出式reCAPTCHA验证,仅剩点击注册按钮步骤无法推进
- 特殊操作:为完成reCAPTCHA验证,曾加载新网页、关闭对应页面后返回注册页,不确定该操作是否与按钮点击失败相关
- 目标按钮参考截图:


尝试过的定位方式与报错
- 首次尝试用CSS选择器定位,代码如下:
submit = browser.find_element(By.CSS_SELECTOR("//*[@id="register form"]/div[7]/button")).text
- 第二次尝试用XPath路径
//*[@id="register-form"]/div[7]/button抓取元素 - 运行时出现两类报错:
- 报错1:
'str' object is not callable using Selenium through Python - 报错2:提示找不到对应元素
- 报错1:
- 先后排查过按钮属性限制、页面特殊结构、需JavaScript触发点击等可能原因,对应调整方案后均未解决问题。
最终解决方法
问题根因:切换标签页完成验证操作后,未将Selenium驱动的控制焦点切回原注册标签页,程序一直在已关闭的旧标签页范围内查找元素,自然无法定位到注册按钮。
解决操作:将Selenium驱动焦点切回注册所在标签页后,所有常规元素定位方案均可正常获取目标按钮,可直接完成点击操作,无需额外特殊处理。
内容的提问来源于stack exchange,提问作者birton
相关产品推荐
相关产品推荐

