1.简单描述 webbrowser、requests、BeautifulSoup 和 selenium 模块之间的不同

webbrowser模块有一个 open() 方法,它启动 web 浏览器,打开指定的 URL,就 这样。

Requests 模块可以从网上下载文件和页面。

BeautifulSoup 模块解析 HTML。

最后,selenium 模块可以启动并控制浏览器

2.requests.get()返回哪种类型的对象?如何以字符串的方式访问下载的内容?

requests.get() 函数返回一个 Response 对象,它有一个 text 属性,包含下载 内容的字符串

3.哪个 Requests 方法检查下载是否成功?

如果下载有问题,raise_for_status() 方法将抛出异常,如果下载成功,什么也不做

4.如何取得 Requests 响应的 HTTP 状态码?

Response 对象的 status_code 属性包含了 HTTP 状态码

5.如何将 Requests 响应保存到文件?

以'wb',即“写二进制”模式在你的计算机上打开新文件后,

利用一个 for 循环迭代遍历 Response 对象的 iter_content() 方法,将各段写入该文件。

下面是例子:
saveFile = open('filename.html', 'wb')

for chunk in res.iter_content(100000):

  saveFile.write(chunk)

6.要打开浏览器的开发者工具,快捷键是什么?

F12 在Chrome 中打开开发者工具。按下 Ctrl-Shift-C(在 Windows 和Linux 上) 或 -Option-C(在 OS X),在 Firefox 中打开开发者工具

7.在开发者工具中,如何查看页面上特定元素的 HTML?

右键点击页面上的元素,并从菜单中选择 Inspect Element

8.要找到 id 属性为 main 的元素,CSS 选择器的字符串是什么?

#main

9.要找到 CSS 类为 highlight 的元素,CSS 选择器的字符串是什么?

'.highlight'

10.要找到一个<div>元素中所有的<div>元素,CSS 选择器的字符串是什么?

'div div'

11.要找到一个<button>元素,它的 value 属性被设置为 favorite,CSS 选择器 的字符串是什么?

'button[value="favorite"]'

12.假定你有一个 Beautiful Soup 的Tag 对象保存在变量 spam中,针对的元素是 <div>Hello world!</div>。如何从这个 Tag 对象中取得字符串'Hello world!'?

spam.getText()

13.如何将一个Beautiful Soup的Tag 对象的所有属性保存到变量 linkElem中?

linkElem.attrs

14.运行 import selenium 没有效果。如何正确地导入 selenium 模块?

selenium 模块是通过 from selenium import webdriver 导入的

15.find_element_*和 find_elements_*方法之间的区别是什么?

.find_element_* 方法将第一个匹配的元素返回,作为一个 WebElement 对象。

find_elements_* 方法返回所有匹配的元素,作为一个 WebElement 对象列表

16.Selenium 的WebElement 对象有哪些方法来模拟鼠标点击和键盘击键?

click() 和 send_keys() 方法分别模拟鼠标点击和键盘按键

17.你可以在 Submit 按钮的 WebElement 对象上调用 send_keys(Keys.ENTER),但 利用 selenium,还有什么更容易的方法提交表单?

对表单中的任意对象调用 submit() 方法将提交该表单

18.利用 selenium如何模拟点击浏览器的“前进”、“返回”和“刷新”按钮

forward()、back() 和refresh() 等WebDriver 对象方法模拟了这些浏览器按钮

python-web-习题的更多相关文章

  1. 《Python Web开发学习实录》高清PDF版|百度网盘免费下载|Python Web开发学习实录

    <Python Web开发学习实录>高清PDF版|百度网盘免费下载|Python Web开发学习实录 提取码:9w3o 内容简介 Python是目前流行的动态脚本语言之一. 李勇,本书共1 ...

  2. Redis的Python实践,以及四中常用应用场景详解——学习董伟明老师的《Python Web开发实践》

    首先,简单介绍:Redis是一个基于内存的键值对存储系统,常用作数据库.缓存和消息代理. 支持:字符串,字典,列表,集合,有序集合,位图(bitmaps),地理位置,HyperLogLog等多种数据结 ...

  3. Python Web 方向(一)

    Python Web 方向(一) --------Django站点创建 文章地址:http://www.cnblogs.com/likeli/p/5821744.html Python版本:2.7 推 ...

  4. 浅谈五大Python Web框架

    转载:http://feilong.me/2011/01/talk-about-Python-web-framework 说到Web Framework,Ruby的世界Rails一统江湖,而Pytho ...

  5. nginx上部署python web

    nginx上部署python web http://uwsgi-docs.readthedocs.io/en/latest/tutorials/Django_and_nginx.html

  6. 全面解读python web 程序的9种部署方式

    转载自鲁塔弗的博客,本文地址http://lutaf.com/141.htm  python有很多web 开发框架,代码写完了,部署上线是个大事,通常来说,web应用一般是三层结构 web serve ...

  7. Python Web 开发的十个框架【转载】

    Python 是一门动态.面向对象语言.其最初就是作为一门面向对象语言设计的,并且在后期又加入了一些更高级的特性.除了语言本身的设计目的之外,Python标准 库也是值得大家称赞的,Python甚至还 ...

  8. tornado 学习笔记2 Python web主流框架

    2.1 Django 官方网址:https://www.djangoproject.com/ 简介:Django is a high-level Python Web framework that e ...

  9. python web框架——扩展Django&tornado

    一 Django自定义分页 目的:自定义分页功能,并把它写成模块(注意其中涉及到的python基础知识) models.py文件 # Create your models here. class Us ...

  10. 5个最好的Python Web开发框架

    Python是最受欢迎的和最有效率的开发语言之一.Python能让你更快完成工作,并且更有效地集成系统.Python是动态的面向对象的语言.即便你刚刚开始学习Python,也立即就能获得生产力上的提升 ...

随机推荐

  1. MySQL数据库之DQL(数据查询语言)

    1.MySQL之DQL查询AS CONCAT LIKE的使用 (1)select 列名1,列名2,...... from 表名 [where 条件] 查询所有字段用*,不带where条件的话,就会把表 ...

  2. 【笔记篇】不普及向——莫比乌斯反演学习笔记 && 栗题HAOI2011 Problem B

    Part0 广告(当然没有广告费) P.S. 这篇文章是边学着边用Typora写的...学完了题A了blog也就呼之欲出了~有latex化式子也非常方便...非常建议喜欢Markdown的dalao们 ...

  3. JavaScript 数据值校验工具类

    /** * 数据值校验工具类 */ var checkService = { // 不校验 none: function () { return true; }, //非空校验 isEmpty: fu ...

  4. thinkphp 规则路由

    规则路由是一种比较容易理解的路由定义方式,采用ThinkPHP设计的规则表达式来定义. 规则表达式 规则表达式通常包含静态地址和动态地址,或者两种地址的结合,例如下面都属于有效的规则表达式: 'my' ...

  5. c#上传下载ftp(支持断点续传)

    using System;using System.Net;using System.IO;using System.Text;using System.Net.Sockets;namespace f ...

  6. PHP如何实现百万级数据导出

    公司目前有一个需求,需要对一个日增量在20万+数据量的数据表中的数据进行可自定义条件筛选的导出数据,该功能需要对多个部门进行开发使用,要保证功能可用的前提下,尽量优化体验. 首先介绍一下当前可利用的资 ...

  7. 夏令营501-511NOIP训练16——数字转换

    传送门:QAQQAQ 题意:如果一个数x的约数和(不包括它本身,下同)比它本身小,那么x可以变成它的约数和:如果对于某个y>x且y的约数和为x,那么x也可以变成y.例如,4可以变为3,1可以变为 ...

  8. 操作系统-Windows操作系统的线程调度了解这些

    Windows操作系统支持内核级线程,调度单位是线程,它采用基于动态优先级的,抢占式调度,并结合时间配额的调整来完成调度 一.几个前提知识点 就绪线程按优先级进入相应的就绪队列 系统总是选择优先级最高 ...

  9. mui 上拉加载 实现分页加载功能

    mui 上拉加载 实现分页加载功能,效果图: 分页功能(上拉加载): 1.引入需要的css.js文件 <link href="static/css/mui.css" rel= ...

  10. 第四周课堂笔记2th

    2. 在函数中*对于形参的作用是聚合,对于实参的作用是打散 3. 加载顺序:内置——全局——局部空间 取值顺序:局部——全局——内置空间 左上角的答案: 123 666 888 777 右边的答案:7 ...