您的位置:首页 > 编程语言 > Python开发

【Python + selenium】在浏览器打开新页签,打开方式

2017-09-06 11:34 281 查看

很过新接触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])
内容来自用户分享和网络整理,不保证内容的准确性,如有侵权内容,可联系管理员处理 点击这里给我发消息
标签: