#导包、创建浏览器对象,获取一下url地址
from selenium import webdriver
import time
driver=webdriver.Firefox()
driver.get("https://www.taobao.com")
#通过ID来定位文本框和百度一下
driver.find_element_by_link_text("聚划算").click()
time.sleep(5)
handles=driver.window_handles #获取当前浏览器的所有标签页
driver.switch_to.window(handles[1])#定位到当前标签页
driver.find_element_by_link_text("请登录").click()
time.sleep(2)
driver.quit()
自动化登录之后,我想直接从聚划算页面,但是利用元素定位的方法,定位到“请登录”,怎么都找不到元素,其实,只是窗口句柄还停留在上一个页面而已!对于新弹出的页面还没有定位!!!那怎么可能找得到在新页面的元素呢!!这是新手(我)犯下最大的错误,只顾于对元素方法的定位,却没有意识到页面发生跳转后的handles的变化。
添加如下语句即可。
handles=driver.window_handles #获取当前浏览器的所有标签页
driver.switch_to.window(handles[1])#定位到当前标签页