无头浏览器的访问方式
无头浏览器的访问方式:
仅限于学习--需要验证
#让selenium启动谷歌浏览器的导入工作
import time
from time import sleep# 1.导入seleniumfrom selenium import webdriver
# 新版本的检索内容后续需要使用By.x进行确定检索的类型 x---类型 如 ID ,CLASS_NAME 等
from selenium.webdriver.common.by import Byfrom selenium.webdriver.chrome.options import Options
from selenium import webdriverdef wutou_browser():chrome_options = Options()# 实现规避检测chrome_options.add_experimental_option('excludeSwitches',['enable-automation'])chrome_options.add_argument('window-size=1920x3000') # 指定浏览器分辨率chrome_options.add_argument('--disable-gpu') # 谷歌文档提到需要加上这个属性来规避bugchrome_options.add_argument('--hide-scrollbars') # 隐藏滚动条, 应对一些特殊页面chrome_options.add_argument('blink-settings=imagesEnabled=false') # 不加载图片, 提升速度chrome_options.add_argument('--headless') # 浏览器不提供可视化页面. linux下如果系统不支持可视化不加这条会启动失败# bropath 就是你自己本机电脑安装的浏览器的路径bropath=r"C:\Users\Administrator\AppData\Local\Google\Chrome\Application\chrome.exe"chrome_options.binary_location=bropathbro = webdriver.Chrome(chrome_options=chrome_options)return brobro=wutou_browser()bro.get('https://www.baidu.com/')
print(bro.page_source)#2.创建浏览器对象,并且指定程序的驱动存在位置
# 你下载的驱动的位置,可以放在任意目录下,在这里指定路径即可# qudongweizhi="./chromedriver"
# # bro=webdriver.Chrome(executable_path=qudongweizhi) 旧的写法
# #3.打开一个网址,进行访问--新的写的办法
# bro=webdriver.Chrome(chrome_options=chrome_options,service= Service(qudongweizhi))
# bro.get("https://www.baidu.com/")# 3.1获取网页的源码
html_source=bro.page_source
# print(html_source)#4.selenium元素标签的定位# 新版本的语法By.ID 前提是导入包from selenium.webdriver.common.by import By
# 常用的就是下下面几个也就是能跟老版本的对应上了
# By.CLASS_NAME
# By.ID
# By.XPATH# 4.1通过ID进行定位,获取百度的搜索框位置
search_input_baidu=bro.find_element(By.ID,"kw")search_input_baidu.send_keys("壁纸")
time.sleep(2)
# 找到 百度一下的 按钮
button=bro.find_element(By.ID,"su")button.click()
time.sleep(2)# 滑到屏幕的底部
js_bottom='document.documentElement.scrollTop=100000'
bro.execute_script(js_bottom)
time.sleep(2)# 获取下一页的 按钮
next=bro.find_element(By.XPATH,'//a[@class="n"]')next.click()
time.sleep(2)# 滑到屏幕的底部
js_bottom='document.documentElement.scrollTop=100000'
bro.execute_script(js_bottom)
time.sleep(2)# 保存快照信息,确认是否进行了操作
bro.save_screenshot('baidu.png')bro.quit()
无头浏览器的访问方式相关推荐
- 基于Python, Selenium, Phantomjs无头浏览器访问页面
引言: 在自动化测试以及爬虫领域,无头浏览器的应用场景非常广泛,本文将梳理其中的若干概念和思路,并基于代码示例其中的若干使用技巧. 1. 无头浏览器 通常大家在在打开网页的工具就是浏览器,通过界面上输 ...
- python——selenium框架实现无头浏览器访问 + 规避检测配置
备注: 有的时候,我们希望,selenium访问的时候,不要出现浏览器, 那么就需要进行配置.具体配置看代码. 运行代码 # !/user/bin/env python # -*- coding: u ...
- [转载] 基于Python, Selenium, Phantomjs无头浏览器访问页面
参考链接: Selenium Python技巧 引言: 在自动化测试以及爬虫领域,无头浏览器的应用场景非常广泛,本文将梳理其中的若干概念和思路,并基于代码示例其中的若干使用技巧. 1. 无头浏览器 通 ...
- python 无头浏览器多线程_基于Python, Selenium, Phantomjs无头浏览器访问页面
引言: 在自动化测试以及爬虫领域,无头浏览器的应用场景非常广泛,本文将梳理其中的若干概念和思路,并基于代码示例其中的若干使用技巧. 1. 无头浏览器 通常大家在在打开网页的工具就是浏览器,通过界面上输 ...
- JAVA网络爬虫(无头浏览器ChromeDriver)
由于工作需要,开始做起了网络爬虫 以爬取小红书为例 创建chromeDriver // 创建浏览器public void createDriver() {// 开启浏览器后需要访问的地址String ...
- python爬虫之selenium,谷歌无头浏览器
python爬虫之selenium和PhantomJS 主要的内容 lenium hantomjs 无头浏览器 的懒加载 一 什么是selenium? 介绍 它是python中的一个第三方库,对外提供 ...
- Kubernetes的Service外部访问方式:NodePort和LoadBalancer
Kubernetes的Service外部访问方式:NodePort和LoadBalancer 关注公众号 风色年代(itfantasycc) 300G微服务资料等你拿! Kubernetes的Pod的 ...
- 浏览器存储的方式有哪些
浏览器存储的方式有哪些 补充:cookie 原本并不是用来储存的,而是用来与服务端通信的,需要存取请自行封装 api. 而 localStorage 则自带 getItem 和 setItem 方法, ...
- VMware ESX 4.1版本,浏览器无法访问问题【已解决】
目录 摘要 背景 问题 解决方案 实践 参考资料 摘要 解决VMware ESX 4.1 安装后,客户端浏览器无法访问管理界面问题. 关键点: 浏览器兼容性: vmware-webAccess 服务是 ...
最新文章
- 安卓开发笔记(二十六):Splash实现首页快速开屏功能
- 北京智控美信(长春)数据中心应聘总结
- 用python一行代码实现1—100之和,你会吗
- 修改csdn中字体颜色
- java模拟浏览器htmlunit,Java版本的浏览器HtmlUnit入门示例
- sqlserver 数据多行以逗号分隔成一行
- [文档]. FGD - FAT32文件系统详解
- c语言成绩管理系统的作用,C语言实现班级成绩管理系统
- 数据结构——单向循环链表双向循环链表
- mysql sql多个like性能_一个sql很多个not like的简化语句
- SqlServer2008创建用户及授予权限
- W681310RG编解码器芯片Nuvoton新唐科技
- CTF杂项-BUUCTF竞赛真题WriteUp(2)
- 手把手教你使用R语言做出SCI论文中的表二(单因素分析表)(3)
- 令人迷惑的scp路径
- excel就绪筛选模式_Excel自动筛选器显示筛选器模式
- 计算机 应用期刊模板下载
- activiti-api-impl
- 区块链项目 - 2 工作量证明
- 魔力宝贝服务器端文件介绍,对魔力宝贝数据库的认识,及SQL数据库详细说明