Python+Selenium实现浏览器的控制操作
作者:今天也是敲代码的一天哦
这篇文章主要为大家详细介绍了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浏览器控制内容请搜索脚本之家以前的文章或继续浏览下面的相关文章希望大家以后多多支持脚本之家!