码迷,mamicode.com
首页 > 其他好文 > 详细

第五天 selenium请求库(第四天内容补充)

时间:2019-06-29 00:34:03      阅读:127      评论:0      收藏:0      [点我收藏+]

标签:edr   多个   tun   为什么   pack   comm   put   mit   scripts   

selenium请求库
1.什么是请求库
selenium是一个自动测试工具,它可以通过代码去实现驱动浏览器自动执行响应的操作
2.为什么要使用selenium?
主要使用selenium的目的是为了跳过登录验证
3.安装与使用
- 下载驱动器
http://npm.taobao.org/mirrors/chromedriver/2.38
- 下载selenium请求库
- 修改下载源为清华源
- D:\python36\lib\site-packages\pip\models\index.py
- PyPI = Index(‘https://pypi.tuna.tsinghua.edu.cn/simple‘)
- pip3 install selenium 或settings中安装
from selenium import webdriver
# 驱动浏览器的两种方式
# 第一种直接去Scripts文件夹中查找驱动
# webdriver.Chrome()
# 第二种填写驱动路径
# webdriver.chrome(r‘E:\Python\Scripts\chromedriver.exe‘)
# - 安装谷歌浏览器
# ……

# 导入键盘Keys
from selenium.webdriver.common.keys import Keys
import time
driver=webdriver.Chrome()

# 检测代码块
try:
    # 隐式等待,等待标签加载
    driver.implicitly_wait(10)

    # 往京东主页发送请求
    driver.get(https://www.jd.com/)

    # 通过id查找input输入框
    input_tag = driver.find_element_by_id(key)

    # send_keys为当前标签传值
    input_tag.send_keys(中华字典)

    # 按键盘的回车键
    input_tag.send_keys(Keys.ENTER)

    time.sleep(3)

    ‘‘‘
    爬取京东商品信息:
        公仔
            名称
            url
            价格
            评价
    ‘‘‘
    # element 找一个
    # elements 找多个
    # 查找所有的商品列表
    good_list = driver.find_elements_by_class_name(gl-item)
    # print(good_list)

    # 循环遍历每一个商品
    for good in good_list:
        # 通过属性选择器查找商品详情页url
        # url
        good_url = good.find_element_by_css_selector(.p-img a).get_attribute(href)
        print(good_url)

        # 名称
        good_name = good.find_element_by_css_selector(.p-name em).text
        print(good_name)

        # 价格
        good_price = good.find_element_by_class_name(p-price).text
        print(good_price)

        # 评价数
        good_commit = good.find_element_by_class_name(p-commit).text
        print(good_commit)


        str1 = f‘‘‘
        url: {good_url}
        名称: {good_name}
        价格: {good_price}
        评价: {good_commit}
        \n
        ‘‘‘
        # 把商品信息写入文本中
        with open(jd.txt, a, encoding=utf-8) as f:
            f.write(str1)


    time.sleep(10)

# 捕获异常
except Exception as e:
    print(e)

# 最后都会把驱动浏览器关闭掉
finally:
    driver.close()

 

第五天 selenium请求库(第四天内容补充)

标签:edr   多个   tun   为什么   pack   comm   put   mit   scripts   

原文地址:https://www.cnblogs.com/requiem/p/11105167.html

(0)
(0)
   
举报
评论 一句话评论(0
登录后才能评论!
© 2014 mamicode.com 版权所有  联系我们:gaon5@hotmail.com
迷上了代码!