selenium定位不到元素的问题
最近在学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,请教一下大家这个问题该如何解决? 它跟爬虫一样需要你指定一个网站 frame_ele = driver.find_element_by_xpath('//*[@id="slideBlock"]') #先通过内层元素定位内层frame
driver.switch_to.frame(frame_ele) #再切换到指定的frame
页:
[1]