《Selenium 》浏览器操作方法
访问指定页面(URL)
driver.get(url)
from selenium import webdriver # 创建浏览器驱动 driver = webdriver.Chrome() # 访问指定页面 driver.get('https://www.cnblogs.com')
浏览器窗体最大化
driver.maximize_window()
from selenium import webdriver #创建浏览器驱动 driver = webdriver.Chrome() # 浏览器窗体最大化 driver.maximize_window()
浏览器前进操作
driver.forward()
from selenium import webdriver #创建浏览器驱动 driver = webdriver.Chrome() # 控制浏览器前进一步操作 driver.forward()
浏览器后退操作
driver.back()
from selenium import webdriver #创建浏览器驱动 driver = webdriver.Chrome() # 控制浏览器后退一步操作 driver.back()
浏览器刷新操作
driver.refresh()
from selenium import webdriver #创建浏览器驱动 driver = webdriver.Chrome() # 浏览器刷新 driver.refresh()
获取当前页面URL
driver.current_url
from selenium import webdriver #创建浏览器驱动 driver = webdriver.Chrome() # 获取当前页面URL print(driver.current_url)
关闭当前页面
driver.close()
from selenium import webdriver #创建浏览器驱动 driver = webdriver.Chrome() # 关闭当前页面 driver.close()
关闭浏览器驱动
driver.quit()
from selenium import webdriver #创建浏览器驱动 driver = webdriver.Chrome() # 关闭浏览器驱动 driver.quit()
点击操作
元素.click()
from selenium import webdriver #创建浏览器驱动 driver = webdriver.Chrome() # 访问指定页面 driver.get('https://www.cnblogs.com') # 定位页面'分类'按钮元素 el = driver.find_element('xpath', '//*[@id="sidenav_category"]/a/span') # 对定位到的元素进行点击操作 el.click()
# driver.find_element('xpath', '//*[@id="sidenav_category"]/a/span').click()
输入操作
元素.send_keys(输入内容)
from selenium import webdriver #创建浏览器驱动 driver = webdriver.Chrome() # 访问指定页面 driver.get('https://www.cnblogs.com') # 定位输入框并输入内容 driver.find_element('xpath', '//input[@id="zzk_search_input"]').send_keys('selenium')
切换iframe
iframe是一个窗体,内嵌页面,本身是一个独立的html页面存在,本质上是套娃操作,对于iframe内的元素如果要操作的话,是不能直接定位的,需要切换iframe,切换iframe进去后,就只可以操作iframe中内容,iframe以外的内容无法操作,如果要操作原窗体的内容,需要重新切换返回原窗体页面。
# 切换iframe driver.switch_to.frame(iframe标签的ID的值或者name的值) # 返回默认窗体 driver.switch_to.default_content()
句柄的处理
句柄可以理解为浏览器打开的页面,切换句柄时需注意获取句柄时与上一步操作之间要有个时间等待不然时间过快无法获取到第二个句柄。
# 获取当前所有的句柄 handles = driver.window_handles
# 切换到第二个句柄页 driver.switch_to.window(handles[1]) # 关闭当前句柄页(如果新的句柄页可以自动关闭就不需要手动处理关闭) driver.close()