在抓取数据的过程中经常会有元素定位不到,根据学习各位老师的博客以及自己的实际经验,总结如下:
1、页面未加载。有可能是页面尚未加载出来,所以可以设置time.sleep来等待。
2、打开新的窗口。点击某个链接后浏览器打开了新的窗口,从浏览器上看目前是定位在新打开的窗口,但是在程序中定位到的是原始的窗口,所以定位不到数据。在实际中打印page_source发现总是原始窗口的源码,经过学习,对重开handle的要切换句柄。 “`
search = browser.current_window_handle #当前窗口
all_handles = browser.window_handles #所有窗口
for handle in all_handles:
if handle!=search:
browser.switch_to_window(handle) #切换窗口