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

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()

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

时间: 2024-10-02 22:07:41

第五天 selenium请求库(第四天内容补充)的相关文章

0627.selenium请求库*1

今日内容: 一 Selenium请求库 一 Selenium请求库 1.什么是selenium? selenium是一个自动测试工具,它可以帮我通过代码 去实现驱动浏览器自动执行相应的操作. 所以我们也可以用它来做爬虫. 2.为什么要使用selenium? 主要使用selenium的目的是为了跳过登录验证. 3.安装与使用 - 下载驱动器: http://npm.taobao.org/mirrors/chromedriver/2.38/ - 下载selenium请求库 - 修改下载源为清华源 -

爬虫请求库——requests

请求库,即可以模仿浏览器对网站发起请求的模块(库). requests模块 使用requests可以模拟浏览器的请求,requests模块的本质是封装了urllib3模块的功能,比起之前用到的urllib,requests模块的api更加便捷 requests库发送请求将网页内容下载下来以后,并不会执行js代码,这需要我们自己分析目标站点然后发起新的request请求,但是selenium模块就可以执行js的操作. 安装: pip3 install requests 请求方式:主要用到的就get

小白学 Python 爬虫(32):异步请求库 AIOHTTP 基础入门

人生苦短,我用 Python 前文传送门: 小白学 Python 爬虫(1):开篇 小白学 Python 爬虫(2):前置准备(一)基本类库的安装 小白学 Python 爬虫(3):前置准备(二)Linux基础入门 小白学 Python 爬虫(4):前置准备(三)Docker基础入门 小白学 Python 爬虫(5):前置准备(四)数据库基础 小白学 Python 爬虫(6):前置准备(五)爬虫框架的安装 小白学 Python 爬虫(7):HTTP 基础 小白学 Python 爬虫(8):网页基

Android 各大网络请求库的比较及实战,android请求库实战

自己学习android也有一段时间了,在实际开发中,频繁的接触网络请求,而网络请求的方式很多,最常见的那么几个也就那么几个.本篇文章对常见的网络请求库进行一个总结. HttpUrlConnection 最开始学android的时候用的网络请求是HttpUrlConnection,当时很多东西还不知道,但是在android 2.2及以下版本中HttpUrlConnection存在着一些bug,所以建议在android 2.3以后使用HttpUrlConnection,之前使用HttpClient.

Struts2的标签库(四)——数据标签

Struts2的标签库(四) --数据标签 1.action标签 该标签用于在jsp页面直接调用一个Action,通过指定executeResult参数,还可以将Action的处理结果包含到此页面中来.此标签的属性如下: var属性:可选属性,一旦定义了该属性,该Action将被放入Stack Context的栈顶. name属性:必选属性,通过该属性指定此标签调用哪个Action. namespace属性:可选属性,通过该属性指定调用Action所在的namespace. executeRes

QT开发(二十五)——QT模板库

QT开发(二十五)--QT模板库 一.QTL模板库简介 QT模板库(QT Template Library 简称QTL)是一套提供对象容器的模板. QTL提供了对象的链表.对象的矢量(动态数组).从一个类型到另一个类型的映射(或称为字典)和相关的迭代器和算法.容器是包含和管理其它对象的一个对象,并且提供迭代器对被包含的对象进行访问. 1.QT容器类简介 容器是能够在内存中存储其他特定类型的对象的对象,一般是通用的模板类.QT提供了自己的一套容器类,即在QT的应用程序中,可以使用标准C++的STL

LXNetwork – 基于AF3.0封装的iOS网络请求库

本框架实现思路与YTKNetwork和RTNetworking类似,相当于一个简单版,把每一个网络请求封装成对象.使用LXNetwork,你的每一个请求都需要继承LXBaseRequest类,通过覆盖父类的一些方法或者实现相关协议方法来构造指定的网络请求.这个网络库可直接在项目中使用,但是有些功能完成度不是很完美,待完善. GitHud地址:https://github.com/CoderLXWang/LXNetwork 一.为什么要这样做? 实现思路的图在下面,可以对比着图看下面内容. 直接封

自己动手写一个iOS 网络请求库的三部曲[转]

代码示例:https://github.com/johnlui/Swift-On-iOS/blob/master/BuildYourHTTPRequestLibrary 开源项目:Pitaya,适合大文件上传的 HTTP 请求库:https://github.com/johnlui/Pitaya 本系列文章中,我们将尝试使用 NSURLSession 技术构建一个自己的网络请求库. NSURLSession 简介 NSURLSession 是 iOS7 引入的新网络请求接口,在 WWDC2013

Android图表库MPAndroidChart(四)——条形图的绘制过程过程,隐隐约约我看到了套路

Android图表库MPAndroidChart(四)--条形图的绘制过程过程,隐隐约约我看到了套路 在学习本课程之前我建议先把我之前的博客看完,这样对整体的流程有一个大致的了解 Android图表库MPAndroidChart(一)--了解他的本质,方能得心应手 Android图表库MPAndroidChart(二)--线形图的方方面面,看完你会回来感谢我的 Android图表库MPAndroidChart(三)--双重轴线形图的实现,这次就so easy了 Android图表库MPAndro