Selenium系列(二) - 详细解读针对浏览器的操作
发布日期:2021-05-09 05:49:21 浏览次数:17 分类:博客文章

本文共 2076 字,大约阅读时间需要 6 分钟。

如果你还想从头学起Selenium,可以看看这个系列的文章哦!

 

其次,如果你不懂前端基础知识,需要自己去补充哦,博主暂时没有总结(虽然我也会,所以我学selenium就不用复习前端了哈哈哈...)

 

控制浏览器有哪些操作?

  • 最大化、最小化浏览器
  • 控制、获取浏览器大小
  • 获取当前标签页title、url
  • 前进、后退、刷新
  • 执行js语句
  • 打开、关闭新标签页
  • 滚动页面

点击右边目录即可跳转哦! -------------->>>>>>>>>> 

 

最大化、最小化浏览器

from time import sleepfrom selenium import webdriver# 加载浏览器驱动driver = webdriver.Chrome("../resources/chromedriver.exe")# 访问网址driver.get("https://www.baidu.com")# 最大化浏览器driver.maximize_window()sleep(2)# 最小化浏览器driver.minimize_window()

 

控制、获取浏览器大小

# 加载浏览器驱动driver = webdriver.Chrome("../resources/chromedriver.exe")# 访问网址driver.get("https://www.baidu.com")# 获取浏览器大小size = driver.get_window_size()print(f"浏览器大小:{size}")sleep(2)# 设置浏览器大小driver.set_window_size(1200, 1000)

执行结果

浏览器大小:{'width': 1936, 'height': 1056}

知识点

get_window_size() 返回的是字典

 

获取当前标签页title、url

# 加载浏览器驱动driver = webdriver.Chrome("../resources/chromedriver.exe")# 访问网址driver.get("https://www.baidu.com")# 获取当前标签页的titleprint(f"标签页title:{driver.title}")# 获取当前标签页的urlprint(f"标签页url:{driver.current_url}")# 获取当前浏览器的名称(不常用)print(f"标签页name:{driver.name}")# 获取当前页面完整的HTML代码
(不常用)
print(f"标签页page_source:{driver.page_source}")

执行结果

标签页title:百度一下,你就知道标签页url:https://www.baidu.com/标签页name:chrome标签页page_source:...

 

前进、后退、刷新

# 前进driver.forward()# 后退driver.back()# 刷新driver.refresh()

 

执行js语句

# 同步执行jsjs='console.log(2)'driver.execute_script(js)# 异步执行jsdriver.execute_async_script("alert(2)")

 

打开、关闭新标签页

# 打开新的标签页js = 'window.open("https://www.baidu.com/")'driver.execute_script(js)# 获取当前标签页句柄print(driver.current_window_handle)# 获取浏览器所有标签页句柄handles = driver.window_handlesprint(handles)# 切换标签页driver.switch_to.window(handles[-1])# 关闭当前标签页driver.close()

执行结果

CDwindow-24C58D8D81CCC95D5D55E887402B7E0A['CDwindow-24C58D8D81CCC95D5D55E887402B7E0A', 'CDwindow-04C35D93CD4A04351BAC1CFFA36378CA', 'CDwindow-AC59AC67423FB8463AF0C534C7A47098']

知识点

  • 打开新的标签页只能通过 js 来操作
  • 可以根据标签页的句柄来切换标签页
  • 操作标签页的好处就是,可以只打开一个浏览器但可以访问多个不同的网页;这在后续集成单元测试框架(unittest、pytest)的时候会有很大的帮助

 

滚动页面

# 滚动随机高度js = "var q=document.documentElement.scrollTop=" + random.randint(100, 999)driver.execute_script(js)

知识点

这里暂时只介绍js的滚动方法,滚动其实有几种高级方法的,后续有空补上

 

上一篇:Linux常用命令 - find命令基础使用(重点)
下一篇:Linux常用命令 - 五种创建文件命令详解

发表评论

最新留言

路过按个爪印,很不错,赞一个!
[***.219.124.196]2025年04月10日 20时20分17秒