selenium安装 到 使用

这篇博客详细介绍了如何在Python中安装和使用selenium库。首先通过pip安装selenium,接着根据浏览器版本下载相应的驱动,如ChromeDriver,并设置环境变量。然后,展示了如何导入模块、设置选项并初始化Chrome浏览器的webdriver。还涵盖了获取元素、处理弹窗、切换frame以及使用动作链等核心API。
部署运行你感兴趣的模型镜像

python - selenium安装 到 使用

1. 安装 selenium

  • pip install selenium

2.根据浏览器版本下载浏览器驱动

Chrome驱动下载
火狐浏览器
IE浏览器
driver.exe 下载好后放在 “环境变量” 内
或者 丢到python根目录 (python 已添加环境变量)

使用API:

以谷歌浏览器为例


导入

from selenium import webdriver


基本api:

driver = webdriver.Chrome()			
# 如果打开失败这样试试 webdriver.Chrome(‘驱动路径’) 

driver.get(url)						# 请求网页

driver.current_url					# 当前窗口url

driver.page_source					# 网页源码

driver.close()						# 关闭 当前浏览器窗口

driver.quit() 						# 关闭 控制的浏览器

options 设置

opts = webdriver.ChromeOptions()

opts.add_argument('--headless')		# 设置隐藏

opts.add_argument('--disable-gpu') #谷歌文档提到需要加上这个属性来规避bug

opts.add_experimental_option('excludeSwitches', ['enable-automation'])	# 规避检测

opts.add_argument('blink-settings=imagesEnabled=false') #不加载图片, 提升速度

opts.add_argument('window-size=1920x3000') #指定浏览器分辨率

opts.add_argument('--hide-scrollbars') #隐藏滚动条, 应对一些特殊页面

opts.add_argument("--proxy-server=http://{}".format('223.199.19.200:9999'))	# 设置代理ip

调用
driver = webdriver.Chrome(options=opts)


获取标签元素 改为 elements 匹配多个

- driver.find_element_by_xpath()		# 通过Xpath查找

- driver.find_element_by_class_name()		# 通过class属性查找

- driver.find_element_by_css_selector()		# 通过css选择器查找  语法规则

- driver.find_element_by_id()			# 通过id查找

- driver.find_element_by_link_text()		# 通过链接文本查找

- driver.find_element_by_name()			# 通过name属性进行查找

- driver.find_element_by_partial_link_text()	# 通过链接文本的部分匹配查找

- driver.find_element_by_tag_name()		# 通过标签名查找

获取属性(匹配到元素后)

- 标签元素.text				# 元素内嵌文本

- 标签元素.get_attribute('属性名')	# 获取元素属性	

- 标签元素.screenshot('图片名路径')	# 在元素标签截图并保存

窗口操作

- 打开新窗口(通过运行 js 代码实现)

	- driver.execute_script('window.open("https://www.baidu.com");')

- driver.window_handles			# 当前开启所有窗口句柄

- driver.current_window_handle		# 当前窗口句柄

- driver.switch_to.window(窗口句柄)	# 切换窗口句柄

alert 弹窗操作

- driver.switch_to_alert()		# 返回当前弹窗对象

- 弹窗对象.dismiss()			# 点击取消按钮

- 弹窗对象.accept()			# 点击确定按钮

- 弹窗对象.text				# 弹出显示文本

(frame)切换

- driver.switch_to.frame(frame标签对象)	# 切到指定frame

- driver.switch_to.parent_frame()	# 切到父级frame,如果已是主文档,则无效果, 相当于后退回去

- driver。switch_to_default_content()	# 切换到主页面,DOM树最开始的frame

动作

- 标签.click()			# 单击元素

- 标签.double_click()		# 双击元素

- 标签.context_click()		# 鼠标右键

- 输入标签.send_keys('文本')	# 在输入框输入内容

- 输入标签.clear()		# 清除输入框内容

动作链 ---------------------------------------------------------

导入路径
from selenium.webdriver.common.action_chains import ActionChains

- actions = ActionChains(driver)	# 定义 动作链实例

API:

- actions.move_to_element_with_offset(标签元素, x, y)	# 将鼠标移动到距某个元素多少距离的位置

- actions.move_by_offset(x, y) 				# 移动鼠标到指定的x,y位置

- actions.drag_and_drop_by_offset(标签对象, x, y)	# 标签拖拽到某个坐标然后松开

- actions.drag_and_drop(标签元素1, 标签元素2) 		# 标签1 拖到 标签2

- actions.click_and_hold(on_element=None) 		# 左键按住不放

- actions.release(on_element=None) 			# 松开左键	

- actions.context_click(on_element=None) 		# 单击

- actions.double_click(on_element=None) 		# 双击

- actions.context_click(on_element=None) 		# 右键

- actions.perform() 					# 执行 动作链

示例

ActionChains(driver).move_to_element_with_offset(标签元素, x, y).click().perform()

# 在某元素 指定坐标点击一次 

您可能感兴趣的与本文相关的镜像

Python3.10

Python3.10

Conda
Python

Python 是一种高级、解释型、通用的编程语言,以其简洁易读的语法而闻名,适用于广泛的应用,包括Web开发、数据分析、人工智能和自动化脚本

评论
成就一亿技术人!
拼手气红包6.0元
还能输入1000个字符
 
红包 添加红包
表情包 插入表情
 条评论被折叠 查看
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包
实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值