在登录豆瓣中,视频中可以直接获取复选框并勾选,可是我自己测试并行。查百度发现是因为框架的原因。登录框在框架内,要先进入框架才可以操作里面的元素。
from selenium import webdriver driver = webdriver.Chrome() driver.get('https://www.douban.com/') check = driver.find_element_by_id('account-form-remember') check.click()
修改代码如下:
from selenium import webdriver import time driver = webdriver.Chrome() driver.get('https://www.douban.com/') # 登录的页面在框架内,要先切换框架才能操作 driver.switch_to.frame(0) check = driver.find_element_by_id('account-form-remember') check.click()
关于driver.switch_to.frame(0),我们可以转到声明中查看用法
可以使用id,name或index和WebElement来定位。
在框架中要回到主文档中,需要用到
driver.switch_to.default_content()回到主文档
driver.switch_to.parent_frame()可以回到父文档,父框架