在之前已经学会了如何使用selenium驱动浏览器,并且做操作
详情请看:selenium自动化操作浏览器
但是selenium总是会打开一个浏览器,这次我们来看一个不用打开浏览器,做自动化操作的方式。
注:这个操作必须建立在前面的环境搭建成功的基础之上,所以自动操作浏览器还是要先了解的。
01、无界面获取网页内容
其实,无界面操作只是在有界面的操作的基础之上,增加一段代码,但整体看起来高大尚一点。另外使用无界面的操作,在爬虫方面比较多一点。可以通过各种定位直接获取到想要的元素。
在有界面操作浏览器的基础之上增加一行重要的代码:
代码语言:javascript复制driver=webdriver.PhantomJS("phantomjs插件路径")
另外这里还需要下载一个插件,插件在公众后台回复获取。
获取界面信息就可以使用:
代码语言:javascript复制from selenium import webdriver
driver=webdriver.PhantomJS()
#url打开的要打开的网址
driver.get(url="http://www.baidu.com")
driver.page_source()
然后操作还是之前的操作,只不过是多了一句代码。
02、selenium提取内容
无界面的操作获取页面信息搞定了,那怎么来获取指定内容呢!
操作还是如之前的操作,截屏,定位,这些都是相同的。
获取想要的指定内容,只需要这样:
根据之前的定位方式:然后加上
代码语言:javascript复制.text()
具体得来看一个例子:
代码语言:javascript复制from selenium import webdriver
driver=webdriver.PhantomJS()
#url打开的要打开的网址
driver.get(url="http://www.baidu.com")
driver.page_source()#获取页面html
#通过id定位元素并获取定位的内容
driver.find_element_by_id("su").text()
#获取id为'su'的元素的内容
那所有的问题是不是解决了。