|
马上注册,结交更多好友,享用更多功能^_^
您需要 登录 才可以下载或查看,没有账号?立即注册
x
最近在学selenium,看了一些例子之后决定尝试一下自动登录qq农场,然后碰到了定位不到元素的问题
输入账号密码之后点击登录,会弹出滑块验证码,我的想法是先下载验证码的图片,再去研究如何实现滑块验证码的破解
下面是我的代码
- from selenium import webdriver
- from selenium.webdriver.common.by import By
- from selenium.webdriver.support.wait import WebDriverWait
- from selenium.webdriver.support import expected_conditions as EC
- import time
-
- #访问登录页面
- driver = webdriver.Chrome()
- driver.get("https://qqapp.qq.com/app/353.html")
- WebDriverWait(driver, 10).until(EC.presence_of_element_located((By.CLASS_NAME, "btn.btn_green.btn_app_add")))
- driver.find_element_by_class_name("btn.btn_green.btn_app_add").click()#进入应用
- WebDriverWait(driver, 10).until(EC.presence_of_element_located((By.ID, "switcher_plogin")))
- driver.find_element_by_id("switcher_plogin").click()#切换到账号密码登录
- #登录
- WebDriverWait(driver, 10).until(EC.presence_of_element_located((By.CLASS_NAME, "inputstyle")))
- driver.find_element_by_class_name("inputstyle").clear()
- driver.find_element_by_class_name("inputstyle").send_keys("xxxxx")#账号
- driver.find_element_by_class_name("inputstyle.password").clear()
- driver.find_element_by_class_name("inputstyle.password").send_keys("xxxxx")#密码
- time.sleep(1)
- driver.find_element_by_id("login_button").click()#点击登录
- #获取验证码
- slideBg = driver.find_element_by_id("slideBg")
复制代码
运行完之后报错:no such element。百度了一下知道原因可能是验证窗口嵌套在iframe标签里,需要先切换到验证框所对应的的iframe标签。但是我在登录页面找不到对应的iframe,请教一下大家这个问题该如何解决? |
|