python中安装cv2模块:pip Install open-python
若cv2模块安装没问题,但cv2中某些功能不能用,则使用以下命令:
pip install -i https://pypi.douban.com/simple opencv-python==4.5.3.56
注意:在处理这种登录框的时候一般都会有一个iframe,不知道这iframe是什么,自己搜
我们要获取iframe中的元素,首先要进入到iframe中
# 创建webdriver对象
driver = webdriver.Edge()
driver.get("https://www.douban.com/")
# 注意:
# iframe元素中有id属性值:可以直接使用switch_to_frame(“name值”)或switch_to_frame(“id值”)的方法来进行定位
# 没有可用的id或者name属性时,用以下方式定位
# iframe1 = driver.find_elements(By.XPATH, '//*[@id="anony-reg-new"]/div/div[1]/iframe')
# driver.switch_to.frame(iframe1)
# 不知道什么原因,我切不进iframe
# 由于这个iframe是文档中的第一个,所以我直接switch_to.frame(0)进去
driver.switch_to.frame(0)
进入iframe后,选择密码登录
# 点击使用密码登录
pwd_login = driver.find_element(By.XPATH, '/html/body/div[1]/div[1]/ul[1]/li[2]')
pwd_login.click()
time.sleep(1) # 休眠1秒
# 输入账号密码
user_name = driver.find_element(By.XPATH, '//*[@id="username"]')
user_name.send_keys("此处是你的帐号")
password = driver.find_element(By.XPATH, '//*[@id="password"]')
password.send_keys("此处是你的password")
# 点击登录
login = driver.find_element(By.XPATH, '/html/body/div[1]/div[2]/div[1]/div[5]/a')
login.click()
time.sleep(3) # 休眠3秒
点击登录后出现新的iframe,再次切换进入
# 出现滑块验证,出现新的iframe,这个iframe有id属性,直接使switch_to.frame('id值')
driver.switch_to.frame('tcaptcha_iframe_dy')
进入到新的iframe后,把这个图片下载下来 ;从两张图中可以看到图片的地址在background-image: url(地址)中