selenium,webdriver模仿浏览器访问百度 基础1

这是一种比较好的反反爬技术

#安装:pip install selenium=2.48.0
#显示:pip show selenium
#卸载:pip uninstall selenium

#模拟用户行为
from selenium import webdriver
import os
import time
from selenium import common

#生成一个浏览器对象
driver = webdriver.PhantomJS()

#访问
driver.get('http://www.baidu.com/')

#创建文件夹存放数据
root_dir = 'baidu'
if not os.path.exists(root_dir):
    os.mkdir(root_dir)

#存储的文件夹及命名的文件名
file_name = root_dir + '/homepage.png'
#截屏并保存图片
driver.save_screenshot(file_name)

#模拟用户行为操作
timeout = 4
count = 0
#输入行为
while True:
    #只进行访问四次  访问不成功就终止
    if count > 4:
        break
    try:
        #通过id号找到百度的输入框
        obj = driver.find_element_by_id('kw')
        #在找到的输入框中 输入文字
        obj.send_keys(u'章丘铁锅')
        print(obj)
        break
    except common.exceptions.NoSuchElementException as e:
        print(e)
        #报错后 等待4秒 再次访问
        time.sleep(timeout)
        count += 1
#存储的文件夹及命名的文件名
file_name = root_dir + '/homepage_zhangqiutieguo.png'
#截屏并保存图片
driver.save_screenshot(file_name)

#模拟鼠标点击操作
#通过id号找到点击按钮
su = driver.find_element_by_id('su')
#点击
su.click()

#等到4秒 等页面加载完成
time.sleep(4)
#存储的文件夹及命名的文件名
file_name = root_dir + '/homepage_search.png'
#截屏并保存图片  运行后就可以看到 相当于在百度输入章丘铁锅后的页面  想想都很激动呢
driver.save_screenshot(file_name)
原文地址:https://www.cnblogs.com/zhangboblogs/p/8562400.html