【python+selenium的web自动化】- 控制浏览器的常用操作

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

https://www.cnblogs.com/miki-peng/category/1942527.html

前言

​ 本文主要介绍selenium控制浏览器一些常用属性和方法,包括控制窗口大小、页面前进后退、页面刷新、打开或关闭标签页、滚动条等等

设置浏览器大小 import time from selenium import webdriver # 浏览器实例化 driver = webdriver.Chrome() # 把浏览器窗口最大化 driver.maximize_window() # 把浏览器窗口最小化 driver.minimize_window() # 设置浏览器窗口大小,长、宽作为参数传递进去,单位:像素 driver.set_window_size(500,800) # 获取浏览器大小 size = driver.get_window_size() print(size) time.sleep(5) driver.quit() 前进/后退/刷新 import time from selenium import webdriver # 浏览器实例化 driver = webdriver.Chrome() driver.get("http://www.baidu.com") driver.find_element_by_xpath("//input[@id='kw']").send_keys("selenium") driver.find_element_by_xpath("//input[@id='su']").click() time.sleep(2) # 后退 driver.back() time.sleep(2) # 前进 driver.forward() time.sleep(2) # 刷新 driver.refresh() time.sleep(2) time.sleep(5) driver.quit() 获取浏览器相关信息 from selenium import webdriver driver = webdriver.Chrome() driver.get("https://www.baidu.com") # 获取浏览器名称 print(driver.name) # 获取网页的 URL 地址 print(driver.current_url) # 获取网页的标题 print(driver.title) # 获取网页的源代码 print(driver.page_source) 标签页切换

​ 在页面中点击某个链接之后,可能就会打开一个新的标签页,Chromedriver驱动是不会主动帮我们去切换。多标签页出现后,如果要做下一步操作,需要先切换浏览器标签页。所有切换动作都是用switch_to语句,标签页切换关键代码:switch_to.window(标签页句柄)。

import time from selenium import webdriver # 启动Chromedriver,并与Chromedriver开启会话 driver = webdriver.Chrome() driver.implicitly_wait(10) driver.get("http://www.baidu.com") driver.find_element_by_id('kw').send_keys("selenium") driver.find_element_by_id('su').click() # 获取当前标签页句柄 wins = driver.current_window_handle print('当前标签页:', wins) # 点击其中一个百度结果,出现一个新标签页 driver.find_element_by_xpath('//h3[@class="t c-gap-bottom-small"]//a').click() time.sleep(2) # 获取当前所有标签页句柄 wins = driver.window_handles # 返回的是一个列表,按照标签页打开的顺序 print('所有标签页1:', wins) # 切换到第一个标签页 driver.switch_to.window(wins[0]) time.sleep(2) # 打开新的标签页 js = 'window.open("https://www.cnblogs.com/miki-peng/")' driver.execute_script(js) time.sleep(2) # 再次获取当前所有标签页句柄 wins = driver.window_handles print('所有标签页2:', wins) # 关闭当前标签页 driver.close() time.sleep(3) driver.quit() # 关闭浏览器,kill掉chromedriver进程

小思考

内容版权声明:除非注明,否则皆为本站原创文章。

转载注明出处:https://www.heiqu.com/zywzxy.html