2021.3.20 selenium与无头浏览器

PhantomJS好像两年前就不再更新了,所以用chrome的无头模式做爬虫,无头浏览器就是指没有操作界面的浏览器,可以自动执行操作指令

例如:使用chrome的无头模式打开百度并且搜索“网络爬虫”,爬取搜索结果页的页面源码,代码如下:

from selenium import webdriver
from selenium.webdriver.common.keys import Keys
import time
import sys
import io
sys.stdout = io.TextIOWrapper(sys.stdout.buffer, encoding='gb18030')  # 改变标准输出的默认编码
options=webdriver.ChromeOptions()
options.add_argument("--headless")
driver = webdriver.Chrome(executable_path='E:\chromedriver.exe',options=options)

driver.get("http://www.baidu.com")
assert "百度" in driver.title
elem = driver.find_element_by_name("wd")
elem.clear()
elem.send_keys("网络爬虫")
elem.send_keys(Keys.RETURN)
time.sleep(3)
assert "网络爬虫." not in driver.page_source
print (driver.page_source)
driver.close()

 

其中

elem = driver.find_element_by_name("wd")
elem.clear()
elem.send_keys(u"网络爬虫")
elem.send_keys(Keys.RETURN)
time.sleep(3)
是对浏览器进行操作


另外需要注意我是用的python3.8需要改变标准输出默认编码格式,而python2.x则不需要。
posted @ 2021-03-20 11:27  月前  阅读(156)  评论(0)    收藏  举报