转载 如果侵权请联系
frame嵌套页面元素定位(原创内容)
案例:qq网页的自动登陆。
from selenium import webdriver
from selenium.webdriver.common.keys import Keys
from selenium.webdriver.common.action_chains import ActionChains
driver = webdriver.Chrome()
#进入一个腾讯游戏的活动页面
driver.get("http://x5.qq.com/cp/a20170623qyhkhz/page3.htm")
#点击登录
driver.find_element_by_id("dologin").click()
#选择弹出的登录窗
driver.switch_to_frame("loginIframe")
#点击登录选项
driver.find_element_by_id("switcher_plogin").click()
#选着用户名选项
element_qqnum = driver.find_element_by_id("u")
#双击用户名内容
ActionChains(driver).double_click(element_qqnum).perform()
#删除已存在的用户名
element_qqnum.send_keys(Keys.DELETE)
#输入用户名密码
element_qqnum.send_keys("QQ号")
driver.find_element_by_id("p").send_keys("QQ密码")
#登录账号
driver.find_element_by_id("login_button").click()
多窗口切换操作
from selenium import webdriver
from time import sleep
driver = webdriver.Chrome()
driver.get("http://www.baidu.com")
#获取网页句柄
selenium_index = driver.current_window_handle
driver.find_element_by_id("kw").send_keys("51自学网")
driver.find_element_by_id("su").click()
sleep(2)
driver.find_element_by_partial_link_text("我要自学网-视频").click()
跳转到对应网页句柄
driver.switch_to.window(selenium_index)
driver.close()