Python+Selenium实现浏览器的控制操作

 更新时间:2022年09月19日 15:24:19   作者:今天也是敲代码的一天哦  
这篇文章主要为大家详细介绍了Python+Selenium如何实现常见的浏览器控制操作,例如:浏览器参数设置、控制浏览器前进/后退等,感兴趣的可以了解一下

浏览器参数设置

设置浏览器参数实在定义driver的时候设置chrome_options,该参数时Options类所实例化的一个对象。代码演示如下:

from selenium import webdriver
#导入Options类
from selenium.webdriver.chrome.options import Options
#实例化Options
chrome_options = Options()
# 设置浏览器参数
# --headless不显示浏览器启动及执行过程
chrome_options.add_argument('--headless')
# 启动浏览器并设置chrom_options
driver = webdriver.Chrome(chrome_options = chrome_options)

浏览器窗口大小设置

from selenium import webdriver
driver = webdriver.Chrome()
driver.get('https://www.baidu.com/')
# 设置浏览器最大化
driver.maximize_window()
# 设置浏览器最小化
driver.minimize_window()
# 设置浏览器宽高
width = 100
high = 100
driver.set_window_size(width, high)

获取浏览器内容

from selenium import webdriver
driver = webdriver.Chrome()
driver.get('https://www.baidu.com/')
# 获取网页title
driver.title
# 获取网页的HTML代码
driver.page_source

控制浏览器前进/后退

#浏览器的前进
browser.forward()
#浏览器的后退
browser.back()

示例:

import time
from selenium import webdriver
driver = webdriver.Chrome()
driver.get('https://www.baidu.com/')
driver.find_element_by_id('kw').send_keys('selenium')
driver.find_element_by_id('su').click()
time.sleep(3)
driver.find_element_by_id('kw').clear()
driver.find_element_by_id('kw').send_keys('python')
driver.find_element_by_id('su').click()
time.sleep(3)
driver.back()#回到selenium
time.sleep(3)
driver.forward()#前进到python
time.sleep(3)

控制浏览器滚动条

浏览器滚动条的控制需要依靠js脚本

#将浏览器滚动条滑到最顶端
document.documentElement.scrollTop=0
#将浏览器滚动条滑到最底端
document.documentElement.scrollTop=10000
#将浏览器滚动条滑到最底端, 示例
js="var q=document.documentElement.scrollTop=10000"
driver.execute_script(js)

其中,execute_script(script, *args),在当前窗口/框架同步执行javaScript

示例:

import time
from selenium import webdriver
driver = webdriver.Chrome()
driver.get('https://www.baidu.com/')
driver.find_element_by_id('kw').send_keys('selenium')
driver.find_element_by_id('su').click()
time.sleep(3)
# 滚动条滚到底端
js='var q=document.documentElement.scrollTop=10000'
driver.execute_script(js)
time.sleep(4)
# 滚动条滚到顶端
js='var q=document.documentElement.scrollTop=0'
driver.execute_script(js)
time.sleep(4)

浏览器多窗口切换

浏览器多窗口切换是在同一个浏览器中切换不同的窗口。

# 打开新的窗口
js ='window.open(url)'
driver.execute_script(js)
# 获取当前窗口信息
current_window = driver.current_window_handle
# 获取当前浏览器全部窗口信息
handles = driver.window_handles
# 进行窗口切换
driver.switch_to.window(handles[0])

示例:

import time
from selenium import webdriver
driver = webdriver.Chrome()
driver.get('https://www.baidu.com/')
time.sleep(5)
# 打开新的窗口
js ='window.open("https://www.sogou.com/")'
driver.execute_script(js)
# 获取当前窗口信息
current_window = driver.current_window_handle
# 获取当前浏览器全部窗口信息
handles = driver.window_handles
# 进行窗口切换
time.sleep(5)
driver.switch_to.window(handles[0])

到此这篇关于Python+Selenium实现浏览器的控制操作的文章就介绍到这了,更多相关Python Selenium浏览器控制内容请搜索脚本之家以前的文章或继续浏览下面的相关文章希望大家以后多多支持脚本之家!

相关文章

  • python调用fortran模块

    python调用fortran模块

    本文给大家介绍的是在Python中调用fortran代码,主要是用到了f2py这个程序,十分的实用,有需要的小伙伴可以参考下
    2016-04-04
  • 如何利用opencv训练自己的模型实现特定物体的识别

    如何利用opencv训练自己的模型实现特定物体的识别

    在Python中通过OpenCV自己训练分类器进行特定物体实时识别,下面这篇文章主要给大家介绍了关于如何利用opencv训练自己的模型实现特定物体的识别,文中通过实例代码介绍的非常详细,需要的朋友可以参考下
    2022-10-10
  • python matplotlib保存图片不全问题及解决

    python matplotlib保存图片不全问题及解决

    这篇文章主要介绍了python matplotlib保存图片不全问题及解决方案,具有很好的参考价值,希望对大家有所帮助,如有错误或未考虑完全的地方,望不吝赐教
    2023-09-09
  • Python+Selenium实现短视频自动上传与发布的实践

    Python+Selenium实现短视频自动上传与发布的实践

    本文主要介绍了Python+Selenium实现短视频自动上传与发布的实践,文中通过示例代码介绍的非常详细,对大家的学习或者工作具有一定的参考学习价值,需要的朋友们下面随着小编来一起学习学习吧
    2022-04-04
  • Python实现图片尺寸缩放脚本

    Python实现图片尺寸缩放脚本

    这篇文章主要为大家分享了Python实现图片尺寸缩放的小脚本,具有一定的参考价值,感兴趣的小伙伴们可以参考一下
    2018-03-03
  • Python提高运行速度工具之Pandarallel的使用教程

    Python提高运行速度工具之Pandarallel的使用教程

    为了提高运行速度,我们一般会采用多进程的方式。而常见的方案对于普通python玩家来说都不是特别友好,怎样才能算作一个友好的并行处理方案?本文就来和大家讲讲pandarallel的使用
    2022-09-09
  • Python中的装饰器类详解

    Python中的装饰器类详解

    Python 装饰器在很多情况下是一个非常有用的工具,它们可以用于修改或增强函数或类的行为,本篇文章将深入探讨如何在 Python 中使用类装饰器
    2023-06-06
  • 浅谈Python中的正则表达式

    浅谈Python中的正则表达式

    正则表达式广泛用于与文字、字符串的格式化,放到Python里使用,再合适不过.尤其是在编写爬虫时,用正则表达式匹配URL、匹配IP等,正则表达式都是一个简单、高效的选择,需要的朋友可以参考下
    2021-06-06
  • Scrapy之爬取结果导出为Excel的实现过程

    Scrapy之爬取结果导出为Excel的实现过程

    这篇文章主要介绍了Scrapy之爬取结果导出为Excel的实现过程,具有很好的参考价值,希望对大家有所帮助。如有错误或未考虑完全的地方,望不吝赐教
    2022-12-12
  • 使用Python实现优雅生成假数据

    使用Python实现优雅生成假数据

    Faker是一个Python包,开源的GITHUB项目,主要用来创建伪数据,这篇文章主要为大家详细介绍了Python如何使用Faker生成假数据,感兴趣的小伙伴可以了解下
    2023-12-12

最新评论