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. Redis的持久化和主从复制机制

    Redis持久化 Redis 提供了多种不同级别的持久化方式: RDB 持久化可以在指定的时间间隔内生成数据集的时间点快照(point-in-time snapshot) AOF 持久化记录服务器执行 ...

  2. vue解决sass-loader的版本过高导致的编译错误

    Module build failed: TypeError: this.getResolve is not a function at Object.loader (E:\appEx\PreRese ...

  3. sql server 的存储过程

    存储过程说白了就是一堆 SQL 的合并.中间加了点逻辑控制. 存储过程运行流程 创建不带参数存储过程 --创建存储过程 if (exists (select * from sys.objects wh ...

  4. [转]Ubuntu安装rabbitMq

    笔者ubuntu版本为Ubuntu 15.10,查看ubuntu当前版本命令:cat /etc/issue. 由于rabbitMq需要erlang语言的支持,在安装rabbitMq之前需要安装erla ...

  5. kubernetes忘记token或者token过期怎么加入k8s集群

    1.先查看token是否还可用 [root@hadoop01 ~]# kubeadm token list 1.1) 还在则获取ca证书sha256编码hash值,不在则进行2操作 openssl x ...

  6. angular2 组件内容嵌入(ng-content)

    一.简介 内容嵌入是组件的一个高级功能特性,使用组件的内容嵌入特性能很好地扩充组件的功能,方便代码的复用. 二.用法 如上,在模版中使用了<ng-content>标签,这个标签就是用来渲染 ...

  7. js 常见功能总会

    一.随着页面滚动,元素到达可视区域,显示特殊样式 <!DOCTYPE html> <html lang="en"> <head> <met ...

  8. jquery学习笔记(三):事件和应用

    内容来自[汇智网]jquery学习课程 3.1 页面加载事件 在jQuery中页面加载事件是ready().ready()事件类似于就JavaScript中的onLoad()事件,但前者只要页面的DO ...

  9. USART 串口

    串口不工作 请逐一检查: 是否正确配置复用IO口(先用RCC_APB2PeriphClockCmd在RCC寄存器中先开启GPIOx的时钟使能,再用 GPIO_Init 进行IO复用配置) 是否正确配置 ...

  10. HDU-6375-度度熊学队列-双端队列deque/list

    度度熊正在学习双端队列,他对其翻转和合并产生了很大的兴趣. 初始时有 NN 个空的双端队列(编号为 11 到 NN ),你要支持度度熊的 QQ 次操作. ①11 uu ww valval 在编号为 u ...