selenium一旦切换焦点到别的窗口就会检测不到元素
事情是这样,在用selenium做一些模拟点击的操作流程。XPATH元素都是正确的,能正常运行,也能检测到元素存在。但是运行的时候窗口一旦切换到别的地方,比如开个微信,开个别的浏览器让selenium控制的Chrome浏览器窗口继续后台运行时候就会莫名其妙发生元素检测不到的错误。
请问这该怎么解决。
selenium一旦切换焦点到别的窗口就会检测不到元素
事情是这样,在用selenium做一些模拟点击的操作流程。XPATH元素都是正确的,能正常运行,也能检测到元素存在。但是运行的时候窗口一旦切换到别的地方,比如开个微信,开个别的浏览器让selenium控制的Chrome浏览器窗口继续后台运行时候就会莫名其妙发生元素检测不到的错误。
请问这该怎么解决。
根据您的问题描述,selenium一旦切换焦点就会报检测不到元素的错误,这里要分情况:
如果你在selenium驱动打开的那个浏览器上打开或者关闭了新窗口就会出现这个问题,你可以通过driver.switch_to_window()方法来切换到当前窗口。
如果你只是让当前浏览器处于后台而且没有关闭的情况下,按理是不会出现找不到元素的错误的。所以这个时候的解决方法是,你要排除其它错误,这里的原因可能有,确实xpath有变化,找不到元素,或者有新的窗口打开或者关闭,或者有并发的情况下窗口有变化而另一个线程还在执行等,页面有嵌套的iframe,页面还未加载完就去定位元素等等情况都有可能报找不到元素的错误。