前言
webdriver经常会遇到在多个窗口之间切换的操作,例如在A窗口操作某个元素跳转到B窗口,然后又进入C窗口,此时如果需要进入AB窗口操作就需要用到特殊的窗口处理方法
窗口处理方法
获取所有窗口句柄:driver.window_handles
获取当前窗口的句柄:driver.current_window_handle
切换窗口:driver.switch_to.window(handle)
循环判断窗口:
mainWindows = driver.current_window_handle
for handle in driver.window_handles:
driver.switch_to.window(handle)
if '华为消费者业务官网' in driver.title:
checkHuawei()
elif '华为应用市场' in driver.title:
checkAppMarket()
elif '华为商城' in driver.title:
checkVmall()
driver.switch_to.window(mainWindows)
PS:
关闭浏览器:driver.quit()
关闭当前标签页:driver.close()
浏览器最大化:driver.maximize_window()
浏览器最小化:driver.minimize_window()
页面截屏:driver.get_screenshot_as_file("a.png")
页面滚动:
from selenium.webdriver import ActionChains
ActionChains(driver).move_to_element(driver.find_element_by_css_selector('.inlandWeatherForecastContent')).perform()