python selenium 打开网页

news2024/9/20 17:01:43

selenium工具类 - 文件名 seleniumkit.py

代码如下

# -*- coding:utf-8 _*-

from selenium import webdriver

import os
import time

from selenium.webdriver.support.ui import WebDriverWait
from selenium.webdriver.support import expected_conditions as EC
from selenium.webdriver.common.by import By

from selenium.webdriver.chrome.service import Service



# 打开网页,会呼出浏览器
def seleniumOpenUrl(initUrl):
    chrome_options = webdriver.ChromeOptions()
    chrome_options.add_argument('---ignore-certificate-errors-spki-list')
    chrome_options.add_argument('--ignore-ssl-errors')
    chrome_options.add_argument('--ignore-ssl-error')
    chrome_options.add_argument('log-level=2')


    # 解决谷歌堆栈溢出问题
    chrome_options.add_experimental_option('useAutomationExtension', False)

    # https://blog.csdn.net/huashao0602/article/details/124322123
    # 解决遇到反爬虫 获取不到数据问题 Selenium绕过检测 & 隐藏特征
    chrome_options.add_argument("--disable-blink-features=AutomationControlled")

    # chromedriver.exe 放在根目录下
    path = os.path.join(os.getcwd(), 'chromedriver.exe')
    print('chromePath:', path)
    
    service = Service(executable_path=path)
    driver = webdriver.Chrome(options=chrome_options,service=service)

    driver.get(initUrl)

    driver.maximize_window()
    return driver


# 打开网页,无浏览器模式
def seleniumOpenUrlHeadless(initUrl):
    chrome_options = webdriver.ChromeOptions()
    chrome_options.add_argument('---ignore-certificate-errors-spki-list')
    chrome_options.add_argument('--ignore-ssl-errors')
    chrome_options.add_argument('--ignore-ssl-error')
    chrome_options.add_argument('log-level=2')

    # 解决谷歌堆栈溢出问题
    chrome_options.add_experimental_option('useAutomationExtension', False)

    # https://blog.csdn.net/huashao0602/article/details/124322123
    # 解决遇到反爬虫 获取不到数据问题 Selenium绕过检测 & 隐藏特征
    chrome_options.add_argument("--disable-blink-features=AutomationControlled")
    # chromedriver.exe 放在根目录下
    path = os.path.join(os.getcwd(), 'chromedriver.exe')
    print('chromePath:', path)
    browser_locale = 'fr'
    chrome_options.add_argument("--lang={}".format(browser_locale))
    chrome_options.add_argument("--headless")
    chrome_options.add_argument('headless')
    service = Service(executable_path=path)
    driver = webdriver.Chrome(options=chrome_options, service=service)
    driver.get(initUrl)
    driver.maximize_window()
    return driver

测试打开百度 - test.py

# -*- coding:utf-8 _*-

from selenium.webdriver.support.ui import WebDriverWait
from selenium.webdriver.support import expected_conditions as EC
from selenium.webdriver.common.keys import Keys
from selenium.webdriver.common.by import By
from seleniumkit import *


def openBaiDu():
    initUrl = "https://www.baidu.com/"
    driver = seleniumOpenUrl(initUrl)
    return driver

if __name__ == "__main__":
    openBaiDu()
    time.sleep(10)

打开百度的效果

在这里插入图片描述

本文来自互联网用户投稿,该文观点仅代表作者本人,不代表本站立场。本站仅提供信息存储空间服务,不拥有所有权,不承担相关法律责任。如若转载,请注明出处:http://www.coloradmin.cn/o/1877744.html

如若内容造成侵权/违法违规/事实不符,请联系多彩编程网进行投诉反馈,一经查实,立即删除!

相关文章

【计算机网络】期末复习(2)

目录 第一章:概述 第二章:物理层 第三章:数据链路层 第四章:网络层 第五章:传输层 第一章:概述 三大类网络 (1)电信网络 (2)有线电视网络 &#xff0…

Eclipse + GDB + J-Link 的单片机程序调试实践

Eclipse GDB J-Link 的调试实践 本文介绍如何创建Eclipse的调试配置,如何控制调试过程,如何查看修改各种变量。 对 Eclipse 的要求 所用 Eclipse 应当安装了 Eclipse Embedded CDT 插件。从 https://www.eclipse.org/downloads/packages/ 下载 Ecli…

快手正式推出Vision Pro版本,引领虚拟现实社交新潮流

6月28日,快手正式推出其专为Apple Vision Pro打造的版本——快手vp版app,成为国内首批登陆Apple Vision Pro的短视频平台。 借助先进的虚拟现实技术,用户可以在快手上体验更真实生动的视频内容,无论是观看趣味短视频内容&#xf…

怎样查看自己的Windows电脑最近弄了哪些内容

一、需求说明 有时候我们的电脑别人需要使用,你不给他使用又不行,且你也不在电脑身边,你只能告诉他自己的电脑密码让他操作,此时你并不不知道他操作了哪些内容。 还有一个种情况是自己不在电脑旁边,且电脑没有锁屏&…

鳗鱼-石斑鱼优化算法(EGO)-鲸鱼算法作者又提出新算法!公式原理详解与性能测评 Matlab代码免费获取

声明:文章是从本人公众号中复制而来,因此,想最新最快了解各类智能优化算法及其改进的朋友,可关注我的公众号:强盛机器学习,不定期会有很多免费代码分享~ 目录 原理简介 一、石斑鱼追踪猎物(勘探阶段) 二…

QGroundControl@Jetson Orin Nano - 从代码编译安装

QGroundControlJetson Orin Nano - Build from Source 1. 源由2. 步骤2.1 QT 编译2.1.1 下载2.1.2 版本2.1.3 初始化2.1.4 配置2.1.5 编译2.1.6 安装 2.2 QGC 编译2.2.1 下载2.2.2 版本2.2.3 初始化2.2.4 配置2.2.5 编译2.2.6 安装2.2.7 QT5命令备注 3. 可行方案4. 总结5. 补充…

如何用GPT开发一个基于 GPT 的应用?

原文发自博客:GPT应用开发小记 如何开发一个基于 GPT 的应用?答案就在问题里,那就是用 GPT 来开发基于 GPT 的应用。本文以笔者的一个开源项目 myGPTReader 为例,分享我是如何基于 GPT 去开发这个系统的,这个系统的功能…

Typora failed to export as pdf. undefined

变换版本并没有用,调整图片大小没有用 我看到一个博客后尝试出方案 我的方法 解决:从上图中的A4,变为其他,然后变回A4 然后到处成功,Amazing! 参考: Typora 导出PDF 报错 failed to export…

Tesseract Python 图片文字识别入门

1、安装tesseract Index of /tesseract https://digi.bib.uni-mannheim.de/tesseract/tesseract-ocr-w64-setup-v5.3.0.20221214.exe 2、安装中文语言包 https://digi.bib.uni-mannheim.de/tesseract/tessdata_fast/ 拷贝到C:\Program Files\Tesseract-OCR\tessdata 3、注…

《重构》读书笔记【第1章 重构,第一个示例,第2章 重构原则】

文章目录 第1章 重构,第一个示例1.1 重构前1.2 重构后 第2章 重构原则2.1 何谓重构2.2 两顶帽子2.3 为何重构2.4 何时重构2.5 重构和开发过程 第1章 重构,第一个示例 我这里使用的IDE是IntelliJ IDEA 1.1 重构前 plays.js export const plays {&quo…

springcloud第4季 springcloud-alibaba之nacos+openfegin+gateway+sentinel熔断限流【经典案例】

一 说明 1.1 架构说明 本案例实现原理: 采用alibaba的nacos,openfegin,sentinel,gateway等组件实现熔断限流。 主要理解sentinel的ResouceSentinel和fallback的区别联系。 ResourceSentinel 主要是页面配置熔断限流规则&#…

海康+libtorch的血泪教训

一、LibTorch使用, 详见: /INCLUDE:?warp_sizecudaatYAHXZ 二、海康二次开发, 目前选4.31,只能c14。 三、做dll注意:

实用的vueuseHooks,提高编码效率

文章目录 写在前面vueuse 官网安装HooksuseStorage [地址](https://vueuse.org/core/useStorage/)传统方法数据持久化 举例子传统持久化的弊端useStorage 数据持久化 举例子使用useStorage 更改存储数据使用useStorage 删除存储数据 useScriptTag [地址](https://vueuse.org/co…

FinalShell:功能强大的 SSH 工具软件,Mac 和 Win 系统的得力助手

在当今数字化的时代,SSH 工具软件成为了许多开发者、运维人员以及技术爱好者不可或缺的工具。而 FinalShell 作为一款出色的中文 SSH 工具软件,无论是在 Mac 系统还是 Windows 系统上,都展现出了卓越的性能和便捷的使用体验。 FinalShell 拥…

go语言DAY7 字典Map 指针 结构体 函数

Go中Map底层原理剖析_go map底层实现-CSDN博客 目录 Map 键值对key,value 注意: map唯一确定的key值通过哈希运算得出哈希值 一、 map的声明及初始化: 二、 map的增删改查操作: 三、 map的赋值操作与切片对比: 四、 通用所有…

深入探讨C++的高级反射机制

反射是一种编程语言能力,允许程序在运行时查询和操纵对象的类型信息。它广泛应用于对象序列化、远程过程调用、测试框架、和依赖注入等场景。 由于C语言本身的反射能力比较弱,因此C生态种出现了许多有趣的反射库和实现思路。我们在本文一起探讨其中的奥秘…

深入解析内容趋势:使用YouTube API获取视频数据信息

一、引言 YouTube,作为全球最大的视频分享平台之一,汇聚了无数优质的内容创作者和观众。从个人分享到专业制作,从教育科普到娱乐休闲,YouTube上的视频内容丰富多彩,满足了不同用户的需求。对于内容创作者、品牌以及希…

langchain学习总结

大模型开发遇到的问题及langchain框架学习 背景: 1、微场景间跳转问题,无法实现微场景随意穿插 2、大模型幻读(推荐不存在的产品、自己发挥) 3、知识库检索,语义匹配效果较差,匹配出的结果和客户表述的…

nacos 整合 openfeign实现远程调用

结合之前写过的案例 Springcloud Alibaba nacos简单使用 Springcloud 之 eureka注册中心加feign调用 在微服务架构中,服务注册与发现是一个关键组件。Nacos 是一个开源的服务注册与发现、配置管理平台,而 OpenFeign 是一个声明式的 Web 服务客户端&am…

【智能算法】目标检测算法

目录 一、目标检测算法分类 二、 常见目标检测算法及matlab代码实现 2.1 R-CNN 2.1.1 定义 2.1.2 matlab代码实现 2.2 Fast R-CNN 2.2.1 定义 2.2.2 matlab代码实现 2.3 Faster R-CNN 2.3.1 定义 2.3.2 matlab代码实现 2.4 YOLO 2.4.1 定义 2.4.2 matlab代码实现…