这种登录的界面,有时会在密码下面出现一个需要输入验证码的框。旁边有一张图片,验证码为英文和数字的组合。我的疑问是打开这个页面的时候,怎么判断我打开的页面是有验证码的。如果有验证码,让其输入用户名,密码,验证码后,点击 登录,登录 成功。没有验证码的时候,输入用户名和密码,点击登录即可登录成功。关于判断界面是否有验证码的代码是加在打开网页后,还是加在输入用户名和密码后,在点击登录之前呢?本人初学这个。请高手不吝赐教,谢谢!
下面附上我的代码
from selenium import webdriver#导入selenium下的webdriver
from time import sleep#导入time下的sleep
from selenium.webdriver.common.action_chains import ActionChains#导入鼠标事件,登录后的操作需要用到鼠标悬浮
browser=webdriver.Firefox()#定义浏览器为Firefox
browser.get('https://tapd.)#打开链接地址
browser.maximize_window()#最大化浏览器窗口
browser.implicitly_wait(10)#隐式等待最多10秒
browser.find_element_by_xpath('//*[@id="l_p_m"]/div[2]/label').click()#使用xpath定位到用户名输入框,并点击
browser.find_element_by_xpath('//*[@id="username"]').send_keys('ng')#向用户名输入框,输入用户名
browser.find_element_by_id('password_input').send_keys('2448)#向密码输入框,输入密码
browser.find_element_by_xpath('//*[@id="login_button"]').click()#点击下方的登录
ActionChains(browser).move_to_element(browser.find_element_by_xpath('/html/body/div[4]/ul/li[2]/ul/li[1]/a')).perform()#使用鼠标悬浮到登录的菜单上。
browser.find_element_by_link_text(u'每日签入/签出').click()#使用link_text定位到元素上,并点击
browser.find_element_by_xpath('//*[@id="checkin_btn"]').click()#使用id定位到元素并点击
browser.quit(self)#退出浏览器