Selenium报错:'SwitchTo' object is not callable 求解决方案
解决Selenium中TypeError: 'SwitchTo' object is not callable的问题
这个错误是因为你使用了Selenium新版本(v4及以上)的语法兼容旧版本写法导致的:
- 在Selenium v3及更早版本中,
driver.switch_to()是可调用方法; - 但在Selenium v4+里,
driver.switch_to已经变成了一个属性对象,不能直接调用,必须通过它的子方法来完成切换操作。
修正后的代码
切换窗口需要调用switch_to.window()方法,传入目标窗口的句柄:
from selenium import webdriver # 切换到第二个窗口 driver.switch_to.window(driver.window_handles[1]) driver.close() # 切回原窗口 driver.switch_to.window(driver.window_handles[0])
额外注意事项
- 执行代码前确保
window_handles列表长度≥2,否则会抛出索引越界错误; - 如果窗口顺序不确定,也可以通过遍历
window_handles,结合driver.title或driver.current_url来定位目标窗口,避免依赖索引的不确定性。
内容的提问来源于stack exchange,提问作者곽재영
相关产品推荐
相关产品推荐

