Python Selenium浏览器控制
今天也是敲代码的一天哦 人气:0浏览器参数设置
设置浏览器参数实在定义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])
加载全部内容