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. 前端常用的库和实用技术之JavaScript面向切面编程

    Aspect Oriented Programming(AOP)面向切面编程是一个比较热门的话题. AOP主要实现的目的是针对业务处理过程中的切面进行提取,它所面对的是处理过程 中的某个步骤或阶段,以 ...

  2. canvas绘制线和矩形

    ###canvas绘制矩形 HTML中的元素canvas只支持一种原生的图形绘制:矩形.所有其他的图形的绘制都至少需要生成一条路径 1.绘制矩形 canvas提供了三种方法绘制矩形: ----> ...

  3. 同步锁与GIL的关系

    #_author:来童星#date:2019/12/2# Python的线程在GIL的控制之下,线程之间,对整个python解释器,对python提供的CAPI的访问都是互斥的,# 这可以看作是Pyt ...

  4. 弹性网卡支持私网多IP

    摘要: 弹性网卡支持多IP功能可以最多在一块弹性网卡配置20个私网IP地址,特别适用于于以下场景. 1.单个服务器上托管多个应用,提升实例利用率,每个应用对外暴露一个独立的服务IP地址. 2.当实例发 ...

  5. thinkphp 前置和后置操作

    前置和后置操作指的是在执行某个操作方法之前和之后会自动调用的方法,不过仅对访问控制器有效. 其他的分层控制器层和内部调用控制器的情况下前置和后置操作是无效的. 系统会检测当前操作是否具有前置和后置操作 ...

  6. kubernetes监控和性能分析工具:heapster+influxdb+grafana

    1.部署heapster 下载 heapster 相关 yaml 文件 [root@master dashboard]# wget https://raw.githubusercontent.com/ ...

  7. Sonatype Nexus Repository Manager清除无用的docker镜像

    1.创建定时任务 2.先run一下看是否能删除无用镜像

  8. 用VC++MFC做文本编辑器(单文档模式)

    用VC++MFC做文本编辑器(单文档模式) 原来做过一个用对话框实现的文本编辑器,其实用MFC模板里面的单文档模板也可以做,甚至更加方便,适合入门级的爱好者试试,现介绍方法如下: < xmlna ...

  9. (一)PHP基础知识考察点

    1,PHP引用变量的考察点: 概念:引用就是用不同的名字访问同一个变量内容. 定义方式: 使用&符号. PHP引用变量的工作原理 这里有个COW  copy on write  用zval() ...

  10. Seam科普

    声明:这是引用的,具体引用位置在最下面. 只供个人学习,免得忘记了又要到处找,十分感谢原作作者.如果有什么问题请联系我. Seam框架开发一个HelloWrld的例子. Seam本身,而在于Seam使 ...