Python Selenium3 简单操作进行百度搜索

当前环境:Win10 + Python3.7 + selenium==3.141.0,urllib3==1.26.2

from selenium import webdriver
import timeif __name__ == '__main__':# Chrome 路径CHROME_PATH = r'C:\Program Files (x86)\65.0.3312.0\chrome-win32\chrome.exe'# ChromeDriver 路径CHROMEDRIVER_PATH = r'C:\Program Files (x86)\65.0.3312.0\chromedriver_win32\chromedriver.exe'options = webdriver.ChromeOptions()# 取消 Chrome 正受到自动测试软件的控制options.add_experimental_option("excludeSwitches", ["enable-automation"])# 取消 请停用以开发者模式运行的扩展程序options.add_experimental_option("useAutomationExtension", False)# 手动指定使用的浏览器位置options.binary_location = CHROME_PATHdriver = webdriver.Chrome(executable_path=CHROMEDRIVER_PATH, options=options)url = 'https://www.baidu.com'driver.get(url)print(driver.title)# 输入框element = driver.find_element_by_id('kw')element.clear()element.send_keys('你好')# 百度一下element = driver.find_element_by_id('su')element.click()time.sleep(3)print(driver.title)# 关闭当前显示的窗口driver.close()# 退出浏览器driver.quit()'''运行结果:百度一下,你就知道你好_百度搜索'''

其他知识:

'''
# 检测是否有未结束 chromedriver 进程 将其关闭
import os
os.system('chcp 65001')
os.system('taskkill /F /IM chromedriver.exe')
'''
'''
selenium3  定位元素方法
driver.find_element_by_class_name("className")
driver.find_element_by_css_selector(".className")
driver.find_element_by_id("elementId")
driver.find_element_by_link_text("linkText")
driver.find_element_by_name("elementName")
driver.find_element_by_partial_link_text("partialText")
driver.find_element_by_tag_name("elementTagName")
driver.find_element_by_xpath("xpath")
''''''
selenium3 定位多个元素方法
driver.find_elements_by_class_name("className")
driver.find_elements_by_css_selector(".className")
driver.find_elements_by_id("elementId")
driver.find_elements_by_link_text("linkText")
driver.find_elements_by_name("elementName")
driver.find_elements_by_partial_link_text("partialText")
driver.find_elements_by_tag_name("elementTagName")
driver.find_elements_by_xpath("xpath")
'''
'''
selenium3 executable_path 写法
from selenium import webdriveroptions = webdriver.ChromeOptions()
options.add_experimental_option("excludeSwitches", ["enable-automation"])
options.add_experimental_option("useAutomationExtension", False)
driver = webdriver.Chrome(executable_path=CHROMEDRIVER_PATH, options=options)
'''
'''
driver.back(): 返回到跳转前的页面。
driver.close(): 关闭当前显示的窗口。如果打开多个窗口,也只会关闭当前的窗口,其他窗口正常显示。
driver.quit(): 退出浏览器, 不管打开的是几个窗口,全部退出。
'''

参考:

https://www.cnblogs.com/kxtomato/p/16403798.html

driver.back() 、driver.close() 、driver.quit()三者的区别-CSDN博客

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

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

相关文章

mybatis的快速入门以及spring boot整合mybatis(二)

需要用到的SQL脚本: CREATE TABLE dept (id int unsigned PRIMARY KEY AUTO_INCREMENT COMMENT ID, 主键,name varchar(10) NOT NULL UNIQUE COMMENT 部门名称,create_time datetime DEFAULT NULL COMMENT 创建时间,update_time datetime DEFAULT NULL COMMENT 修改…

极智芯 | 解读国产AI算力 灵汐产品矩阵

欢迎关注我的公众号 [极智视界],获取我的更多经验分享 大家好,我是极智视界,本文分享一下 解读国产AI算力 灵汐产品矩阵。 邀您加入我的知识星球「极智视界」,星球内有超多好玩的项目实战源码和资源下载,链接:https://t.zsxq.com/0aiNxERDq [系列声明:最近写了十余篇 &…

低多边形建筑3D模型纹理贴图

在线工具推荐: 3D数字孪生场景编辑器 - GLTF/GLB材质纹理编辑器 - 3D模型在线转换 - Three.js AI自动纹理开发包 - YOLO 虚幻合成数据生成器 - 三维模型预览图生成器 - 3D模型语义搜索引擎 当谈到游戏角色的3D模型风格时,有几种不同的风格&#xf…

基于SSM的鞍山职业技术学院图书借阅管理系统

文章目录 项目介绍主要功能截图:部分代码展示设计总结项目获取方式🍅 作者主页:超级无敌暴龙战士塔塔开 🍅 简介:Java领域优质创作者🏆、 简历模板、学习资料、面试题库【关注我,都给你】 🍅文末获取源码联系🍅 项目介绍 基于SSM的鞍山职业技术学院图书借阅管理…

树莓派CSI摄像头在新系统(23年12月)中的不用设置了,没有开关,也没有raspistill

网上都是老信息,用的raspistill命令,至少新系统没有这个东西了,也不会在sudo raspi-config里面也没有摄像头的开关了。 ls /dev/video* 能看到摄像头video0,但是vcgencmd get_camera supported0, detected0&#xff0…

【python】闭包和装饰器

前置知识: 函数的本质就是变量名可以把函数作为参数传递,例如: def func():print("我是func")# 接收的fn是个函数 def handle(fn): # 调用函数fn()handle(func)可以把函数作为返回值返回,例如 def func():def func2(…

CPU的三大调度

计算机系统中的调度可以分为不同层次,包括作业调度、内存调度和进程调度。这三种调度分别负责管理和优化计算机系统中不同层次的资源分配和执行顺序。 高级调度:作业调度(Job Scheduling): 作业调度是指对提交到计算…

了解c++11中的新增

一,统一的初始化列表 在引入c11后,我们得出计划都可以用初始化列表进行初始化。 C11 扩大了用大括号括起的列表 ( 初始化列表 ) 的使用范围,使其可用于所有的内置类型和用户自 定义的类型, 使用初始化列表时,可添加等…

Vue学习计划-Vue2--VueCLi(二)vuecli脚手架创建的项目内部主要文件分析

1. 文件分析 1. 补充: 什么叫单文件组件? 一个文件中只有一个组件 vue-cli创建的项目中,.vue的文件都是单文件组件,例如App.vue 2. 进入分析 1. package.json: 项目依赖配置文件: 如图,我们说主要的属性…

性能测试经典面试题(带答案)!

概述一下性能测试流程? 1.分析性能需求。挑选用户使用最频繁的场景来测试。确定性能指标,比如:事务通过率 为100%,TOP99%是5秒,最大并发用户为1000人,CPU和内存的使用率在70%以下2.制定性能测试计划&…

Ubuntu20.04使用cephadm部署ceph集群

文章目录 Requirements环境安装Cephadm部署Ceph单机集群引导(bootstrap)建立新集群 管理OSD列出可用的OSD设备部署OSD删除OSD 管理主机列出主机信息添加主机到集群从集群中删除主机 部署Ceph集群 Cephadm通过在单个主机上创建一个Ceph单机集群&#xff0…

游戏开发库

整理了38个Python游戏开发库 https://zhuanlan.zhihu.com/p/505095419 https://zhuanlan.zhihu.com/p/262012936 2023 年最佳游戏引擎推荐 https://zhuanlan.zhihu.com/p/624771157 十大开源游戏引擎深入比较之美 https://blog.51cto.com/u_15273495/2915535 panda3d https:…

【EI会议征稿中】第三届网络安全、人工智能与数字经济国际学术会议(CSAIDE 2024)

第三届网络安全、人工智能与数字经济国际学术会议(CSAIDE 2024) 2024 3rd International Conference on Cyber Security, Artificial Intelligence and Digital Economy 第二届网络安全、人工智能与数字经济国际学术会议(CSAIDE 2023&…

Verilog基础:寄存器输出的两种风格

相关文章 Verilog基础https://blog.csdn.net/weixin_45791458/category_12263729.html?spm1001.2014.3001.5482 Verilog中的寄存器操作一般指的是那些对时钟沿敏感而且使用非阻塞赋值的操作。例如状态机中的状态转移,实际上就是一种寄存器操作,因为这相…

听GPT 讲Rust源代码--src/tools(10)

File: rust/src/tools/rust-analyzer/crates/ide-assists/src/handlers/generate_is_empty_from_len.rs 在Rust源代码中,rust-analyzer是一个Rust语言的IDE插件和代码分析器。其中,generate_is_empty_from_len.rs是rust-analyzer中的一个处理程序&#x…

终于有人把tcp、http、rpc和grpc总结完整了

随着微服务的迅速发展,各大互联网企业也投入到微服务的​使用种。微服务最大的特点是,跨进程、跨服务、跨语言之间的调用,使得我们能够像调用本地类、函数一样。当微服务具备该特点,将我们复杂的业务拆分成不同的服务,…

CentOS7安装Docker,DockerCompose

安装docker 1、卸载docker 查看是否有旧版本docker docker info首先检测我们虚拟机是否已经安装过Docker,如果安装则需卸载。代码中“\”符号为换行符,相当于一行内容分为多行,这是检测docker的各种组件 yum remove docker \docker-clien…

VGG模型

概念: CNN感受野 在卷积神经网络中,决定某一层输出结果中的一个元素所对应的输入层的区域大小,被称作感受野(receptive field)。通俗的解释是,输出feature map上的一个单元对应输入层上的区域大小。 VGG…

协同过滤算法springboot+java+ssm高校图书馆图书借阅管理系统k32vr

课题主要分为四大模块:即管理员模块,员工模块,教师模块和学生模块,主要功能包括:首页,个人中心,员工管理,学生管理,教师管理,图书分类管理,图书信…

wsl2 ubuntu上搭建OpenIM

文档 踩坑 版本要选择好,不要直接main来跑,目前版本OpenIMServer 有release-v3.3和release-v3.4,对应Chat版本的release-v1.4和release-v1.4。但我跑3.4是有问题的,切到3.3可以跑通。export OPENIM_IP"http://ip:10002"…