无头浏览器,也是通过selenium操作浏览器,但是浏览器不弹出来的意思
需要用到这个:
from selenium.webdriver.chrome.options import Options # 导入无头浏览器的包 opt = Options() opt.add_argument('--headless') # 设置为无头 opt.add_argument('--disable-gpu') # 设置没有使用gpu # 1.创建浏览器对象 web = Chrome(options= opt) # 然后配置放到浏览器上
from selenium.webdriver import Chrome
from selenium.webdriver.common.keys import Keys
from selenium.webdriver.chrome.options import Options # 导入无头浏览器的包
opt = Options()
opt.add_argument('--headless') # 设置为无头
opt.add_argument('--disable-gpu') # 设置没有使用gpu
# 1.创建浏览器对象
web = Chrome(options= opt) # 然后配置放到浏览器上
# 2.打开一个网址
web.get('http://lagou.com')
# 定位到地址:北京,然后点击他
el = web.find_element('xpath','//*[@id="changeCityBox"]/ul/li[1]/a') #这是新版的,旧版是:find_element_by_xpath
el.click() # 点击事件
# 搜索框输入:python ,输入回车/点击搜索按钮
web.find_element('xpath','//*[@id="search_input"]').send_keys('python',Keys.ENTER) # Keys.ENTER是回车
div_list = web.find_elements('xpath','//*[@id="jobList"]/div[1]/div')
for div in div_list:
job_name = div.find_element('xpath','./div/div/div/a').text
job_money = div.find_element('xpath','./div/div/div[2]/span').text
company_name = div.find_element('xpath', './div/div[2]/div/a').text
print(job_name,job_money,company_name)