frame嵌套页面元素定位
案例:在Frame.html文件种定位搜狗搜索页面,进行搜索操作。
from selenium import webdriver
from time import sleep
driver=webdriver.Firefox()
#设置网页文件路径,r代表路径转义
file_path=r'E:\Python_script\Webdriver\Frame.html'
#路径转义另一种写法
# file_path='E:\\Python_script\\Webdriver\\Frame.html'
driver.get(file_path)
#切换到frame页面内
driver.switch_to.frame("search")
#定位到搜索框按钮输入关键词
driver.find_element_by_css_selector("#query").send_keys("Python")
sleep(3)
driver.find_element_by_css_selector("#stb").click()
sleep(3)
driver.quit()
多窗口切换操作
案例:打开我要自学网Selenium课程主页,然后打开2-1课程详情页面,再回到课程主页打开3-1课程详情页面
from selenium import webdriver
from time import sleep
#火狐好使,谷歌不好使
driver=webdriver.Firefox()
#打开Selenium课程页面
driver.get("http://www.51zxw.net/list.aspx?cid=615")
# 获取课程主页的窗口句柄
selenium_index=driver.current_window_handle
sleep(2)
#点击2-1课程链接。进入课程详情页面
driver.find_element_by_partial_link_text('2-1').click()
sleep(4)
#跳转到课程主页窗口,点击3-1课程
driver.switch_to.window(selenium_index)
sleep(3)
driver.find_element_by_partial_link_text('3-1').click()
sleep(3)
driver.quit()
警告弹窗处理
案例:点击百度首页设置按钮,然后进入搜索设置页面,点击“保存设置”或“恢复默认”按钮,处理警告弹窗窗口
from selenium import webdriver
from time import sleep
driver=webdriver.Firefox()
driver.get("http://www.baidu.com")
driver.find_element_by_link_text('设置').click()
sleep(2)
driver.find_element_by_link_text('搜索设置').click()
sleep(3)
driver.find_element_by_link_text('保存设置').click()
# driver.find_element_by_link_text('恢复默认').click()
sleep(3)
#处理警告窗口
alert=driver.switch_to_alert()
alert.accept()
sleep(2)
sleep(2)
driver.quit()