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. 【JDK】:java.lang.Integer源码解析

    本文对JDK8中的java.lang.Integer包装类的部分数值缓存技术.valueOf().stringSize().toString().getChars().parseInt()等进行简要分 ...

  2. 【转载】GPU深度发掘(一)::GPGPU数学基础教程

    作者:Dominik Göddeke                 译者:华文广 Contents 介绍 准备条件 硬件设备要求 软件设备要求 两者选择 初始化OpenGL GLUT OpenGL ...

  3. thinkphp 模板渲染

    模板定义后就可以渲染模板输出,系统也支持直接渲染内容输出,模板赋值必须在模板渲染之前操作. 大理石平台价格表 渲染模板 渲染模板输出最常用的是使用display方法,调用格式: display('[模 ...

  4. webpack官方文档学习

    一.webpack是什么? webpack是一款模块加载器兼打包工具,它能把各种资源,例如JS(含JSX).coffee.样式(含less/sass).图片等都作为模块来使用和处理. 二.安装 前提条 ...

  5. 三种方法实现MNIST 手写数字识别

    MNIST数据集下载: import tensorflow as tf from tensorflow.examples.tutorials.mnist import input_data mnist ...

  6. PAT甲级——A1126 Eulerian Path【30】

    In graph theory, an Eulerian path is a path in a graph which visits every edge exactly once. Similar ...

  7. python Six 模块

    Six模块用于python2和python3的兼容 import six 官网链接:https://six.readthedocs.io/

  8. <day006>bootstrap的简单学习 + 轮播图

    任务1:bootstrap的简单学习 <!DOCTYPE html> <html lang="zh-CN"> <head> <meta c ...

  9. 【AT3611】Tree MST

    题目 这个题的输入首先就是一棵树,我们考虑一下点分 我们对于每一个分治重心考虑一下跨过这个分治重心的连边情况 就是把当前分治区域内所有的点向距离分治重心最近的点连边 考虑一下这个算法的正确性,如果我们 ...

  10. 论文阅读笔记---HetConv

    1 写在前边的话 HetConv性能:当使用HetConv取代标准卷积之后,FLOPs大概是之前的1/8到1/3,更重要的是精度几乎不变!!! 论文地址:https://arxiv.org/abs/1 ...