Chrome

Selenium WebDriver-获取与切换浏览器窗口的句柄

会有一股神秘感。 提交于 2021-02-12 02:52:09
通过selenium webdriver去切换浏览器的窗口,需要通过句柄,具体代码如下: # encoding=utf-8 import unittest import time import chardet from selenium import webdriver class VisitSogouByIE(unittest.TestCase): def setUp(self): # 启动chrome浏览器 self.driver = webdriver.Chrome(executable_path = " e:\\chromedriver " ) def test_operateWindowHandle(self): url = " http://www.baidu.com " self.driver.get(url) # 获取当前窗口句柄 now_handle = self.driver.current_window_handle # 打印当前获取的窗口句柄 print now_handle # 百度搜索输入框中输入“selenium” self.driver.find_element_by_id( " kw " ).send_keys( " w3cschool " ) # 点击搜索按钮 self.driver.find_element_by_id( " su " )

DNS_PROBE_FINISHED_NXDOMAIN & MacOS

我只是一个虾纸丫 提交于 2021-02-11 20:42:27
DNS_PROBE_FINISHED_NXDOMAIN 内网 DNS bug 8.8.8.8 8.8.4.4 # new inner Wi-Fi 10.1.3.10 10.1.3.13 Windows https://www.wiknix.com/how-to-fix-dns_probe_finished_nxdomain-in-chrome/ MacOS DNS 刷新 https://www.apple.com/cn/search/DNS?src=globalnav https://www.apple.com/cn/search/DNS-%E5%88%B7%E6%96%B0?src=serp https://blog.csdn.net/u013356066/article/details/52162889 https://blog.csdn.net/zhaoxiaoruiR/article/details/82459788 https://jingyan.baidu.com/article/154b4631aa51bb28ca8f4114.html https://www.lifewire.com/network-preference-pane-change-macs-dns-settings-2260394 https://beebom.com/dns_probe

爬虫-图片懒加载技术、selenium和PhantomJS

非 Y 不嫁゛ 提交于 2021-02-11 19:18:58
动态数据加载处理 一.图片懒加载 什么是图片懒加载? 案例分析:抓取站长素材http://sc.chinaz.com/中的图片数据 #!/usr/bin/env python # -*- coding:utf-8 -*- import requests from lxml import etree if __name__ == "__main__": url = 'http://sc.chinaz.com/tupian/gudianmeinvtupian.html' headers = { 'User-Agent': 'Mozilla/5.0 (Macintosh; Intel Mac OS X 10_12_0) AppleWebKit/537.36 (KHTML, like Gecko) Chrome/69.0.3497.100 Safari/537.36', } #获取页面文本数据 response = requests.get(url=url,headers=headers) response.encoding = 'utf-8' page_text = response.text #解析页面数据(获取页面中的图片链接) #创建etree对象 tree = etree.HTML(page_text) div_list = tree.xpath( '//div[@id=

Http post 常用的四种请求方式

纵饮孤独 提交于 2021-02-10 08:59:08
http1.1协议 规定http 的请求方式有OPTIONS、GET、HEAD、POST、PUT、DELETE、TRACE、CONNECT几种方式。其中POST是一种最常用的向服务器提交数据的方法,本文主要讨论POST提交数据的四种方式。 application/x-www-form-urlencoded 这应该是最常见的 POST 提交数据的方式了。浏览器的原生 <form> 表单,如果不设置 enctype 属性,那么最终就会以 application/x-www-form-urlencoded 方式提交数据。请求类似于下面这样(无关的请求头在本文中都省略掉了): POST http://www.example.com HTTP/1.1 Content-Type: application/x-www-form-urlencoded;charset=utf-8 title=test&sub%5B%5D=1&sub%5B%5D=2&sub%5B%5D=3 首先,Content-Type 被指定为 application/x-www-form-urlencoded;其次,提交的数据按照 key1=val1&key2=val2 的方式进行编码,key 和 val 都进行了 URL 转码。大部分服务端语言都对这种方式有很好的支持。例如 PHP 中,$_POST['title']

爬虫实践

时光总嘲笑我的痴心妄想 提交于 2021-02-10 08:12:21
1.URL爬取   爬取一个站点的所有URL,大概有以下步骤:   1.确定好要爬取的入口链接。   2.根据需求构建好链接提取的正则表达式。   3.模拟成浏览器并爬取对应的网页。   4.根据2中的正则表达式提取出该网页中包含的链接。   5.过滤重复的链接。   6.后续操作,打印链接或存到文档上。   这里以获取 https://blog.csdn.net/ 网页上的链接为例,代码如下: 1 import re 2 import requests 3 4 def get_url(master_url): 5 header = { 6 ' Accept ' : ' text/html,application/xhtml+xml,application/xml;q=0.9,image/webp,image/apng,*/*;q=0.8 ' , 7 ' Accept-Encoding ' : ' gzip, deflate, br ' , 8 ' Accept-Language ' : ' zh-CN,zh;q=0.9 ' , 9 ' Cache-Control ' : ' max-age=0 ' , 10 ' Connection ' : ' keep-alive ' , 11 ' Cookie ' : ' uuid_tt_dd=10_20323105120

web app变革之rem(手机屏幕实现全适配)

寵の児 提交于 2021-02-10 07:56:19
以往web移动适配,常规写法是:media only screen @media only screen and (min-device-width: 320px){ //针对iPhone 3 } @media only screen and (min-device-width: 320px)and (-webkit-min-device-pixel-ratio: 2) { //针对iPhone 4, 5c,5s, 所有iPhone6的放大模式,个别iPhone6的标准模式 } @media only screen and (min-device-width: 375px)and (-webkit-min-device-pixel-ratio: 2) { //针对大多数iPhone6的标准模式 } @media only screen and (min-device-width: 375px)and (-webkit-min-device-pixel-ratio: 3) { //针对所有iPhone6+的放大模式 } @media only screen and (min-device-width:412px) and (-webkit-min-device-pixel-ratio: 3) { //针对所有iPhone6+的标准模式,414px写为412px是由于三星Nexus

什么是AJAX?

[亡魂溺海] 提交于 2021-02-10 06:33:33
AJAX 是一种在无需重新加载整个网页的情况下,能够更新部分网页的技术。 AJAX = 异步 JavaScript 和 XML 。 通过在后台与服务器进行少量数据交换, AJAX 可以使网页实现异步更新。这意味着可以在不重新加载整个网页的情况下,对网页的某部分进行更新。 传统的网页(不使用 AJAX )如果需要更新内容,必需重载整个网页面。 AJAX isnot a programming language. It is justa technique for creating better and more interactive web applications. XMLHttpRequest 是 AJAX 的基础。 所有现代浏览器均支持 XMLHttpRequest 对象( IE5 和 IE6 使用 ActiveXObject )。 XMLHttpRequest 用于在后台与服务器交换数据。这意味着可以在不重新加载整个网页的情况下,对网页的某部分进行更新。当你的页面全部加载完毕后,客户端会通过 XMLHttpRequest对象向服务器请求数据,服务器端接受数据并处理后,向客户端反馈数据。 创建 XMLHttpRequest 对象 所有现代浏览器( IE7+ 、 Firefox 、 Chrome 、 Safari 以及 Opera )均内建 XMLHttpRequest 对象。

Python和JavaScript——这两种流行的编程语言之间的主要区别是什么?

怎甘沉沦 提交于 2021-02-09 19:04:37
如果你想了解Python和JavaScript之间的区别,那么本文适合你。 这两种语言非常流行且功能强大,但是它们之间确实存在关键差异,我们将在这里详细介绍它们。 在本文中,你将学习: Python和JavaScript在现实世界中的不同应用。 Python和JavaScript之间关键的语法和功能差异。 让我们开始! ✨ Python VS JavaScript:实际应用 我们将从快速浏览它们的实际应用程序开始。 Python 由于其强大的功能和多功能性,Python已经成为世界上几乎每一个科学应用程序中必不可少的工具,它是一种支持不同编程范式的通用编程语言。 它广泛用于科学和专业应用,包括数据科学、人工智能、机器学习、计算机科学教育、计算机视觉和图像处理、医学、生物学甚至天文学。 它还用于Web开发,这是我们可以开始将其应用程序与JavaScript应用程序进行比较的地方。Python用于后端开发,这是Web开发领域,负责创建用户看不见的元素,例如应用程序的服务器端。 JavaScript 尽管可以使用Python开发Web应用程序的后端部分,但是可以使用JavaScript开发应用程序的后端和前端。 前端是用户看到并与之交互的应用程序部分。每当你看到网站或Web应用程序或与之交互时,即在“幕后”使用JavaScript。 同样,当你与移动应用程序进行交互时

selenium 自动化工具

允我心安 提交于 2021-02-09 09:56:44
问题 今天在使用 selenium + PhantomJS 动态抓取网页时,出现如下报错信息: UserWarning: Selenium support for PhantomJS has been deprecated, please use headless versions of Chrome or Firefox instead warnings.warn('Selenium support for PhantomJS has been deprecated, please use headless ' 翻译过来就是:selenium已经放弃PhantomJS,了,建议使用火狐或者谷歌无界面浏览器。 解决办法: 我们就改用 Selenium + Headless Chrome 1.安装Chrome浏览器 2.安装Selenium pip install selenium 3.安装chromedriver chromedriver下载地址: https://sites.google.com/a/chromium.org/chromedriver/downloads (被墙了) http://npm.taobao.org/mirrors/chromedriver/(可用) 注意 :chromedriver的版本要与你使用的chrome版本对应,对应关系: 点击链接 下载完成后