很过新接触selenium ,在爬取网页时,在新打开页面,总是抓取不到页面内容
原因如下:
- 打开链接,时间停留过短,网页还没打开,这是后你抓取网页内容,肯定是取不到的,一般可以利用driver.implicitly_wait(7) 设置智能等待。
- 如果是新打开的页签,这个时候一定要先移动句柄,再抓取网页内容
- 如果是当前页面,不能抓取内容,记得检查源码, 看看所需抓取内容是否是在ifream中的,如果在ifream中的,记得先找到ifream,在获取ifream中内容,例如
iframe= driver.find_element_by_xpath(".//*[@id='container']/div[4]/iframe")
driver.switch_to_frame(iframe)
- 可能有些刚接触selenium的同学 ,不知道如何打开一个新页签,下边我就给个事例:
driver = webdriver.Firefox()
driver.get("https://www.zhipin.com/user/login.html")
newwindow = 'window.open("https://www.baidu.com")'
driver.execute_script(newwindow)
driver.switch_to_window(driver.window_handles[1])
driver.find_element_by_xpath("")
driver.close()
driver.switch_to_window(driver.window_handles[0])