背景

selenium 简单入门小demo,主要实现百度自动搜索

百度自动搜索demo

1、安装selenium环境

$ mkdir selenium-demo
$ cd selenium-demo
$ python -m venv venv  #配置python虚拟环境
$ source venv/bin/activate
(venv) $ pip install selenium

2、开始撸代码

(venv) $ vim baidu-search.py
from selenium import webdriver

driver = webdriver.Firefox()
driver.get('https://www.baidu.com')

assert '百度' in driver.title

e_kw = driver.find_element_by_id('kw')
e_kw.send_keys('何三笔记')

e_su = driver.find_element_by_id('su')
e_su.click()

print(driver.title)

if 'www.h3blog.com' in driver.page_source :
    print('百度搜索关键字[何三笔记]居然在首页出现了')
else:
    print('百度搜索关键字[何三笔记]首页不存在')

driver.close()

demo分析

首先我们引入selenium的webdriver模块

from selenium import webdriver

selenium.webdriver模块提供了web浏览器的相关操作,支持Firefox,Ie,Chrome,Remote引擎 我们先来创建一个webdriver实例

driver = webdriver.Firefox()

我这里使用的是Firefox引擎 打开百度

driver.get('https://www.baidu.com')

百度打开后,页面上有一个输入框和一个按钮,我们可以通过driver.find_element_by_* 获取元素

e_kw = driver.find_element_by_id('kw') # 获取搜索框
e_su = driver.find_element_by_id('su') # 获取搜索按钮

在输入框中输入何三笔记

e_kw.send_keys('何三笔记')

然后点击搜索按钮

e_su.click()

这时候百度就开始搜了 在搜索的结果叶中我们通过driver.page_source获取搜索结果源代码

print(driver.page_source)

查看域名www.h3blog.com是否在首页源码中

if 'www.h3blog.com' in driver.page_source :
    print('百度搜索关键字[何三笔记]居然在首页出现了')
else:
    print('百度搜索关键字[何三笔记]首页不存在')