很过新接触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)
1
2
可能有些刚接触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])
————————————————
版权声明:本文为CSDN博主「宇风-飞扬」的原创文章,遵循CC 4.0 BY-SA版权协议,转载请附上原文出处链接及本声明。
原文链接:https://blog.csdn.net/EB_NUM/java/article/details/77864470

发表评论

邮箱地址不会被公开。 必填项已用*标注