wish3
上一篇 /
下一篇 2017-12-12 10:42:57
/ 个人分类:学习疑问
前几天学到了selenium的自动登陆,于是我迫不及待想要自己进行验证一下。所以我选择了登陆我们公司的OA系统。账号登陆什么的我就不讲了,最基本的。我出现的问题是登陆进去之后进行选择的时候
如图,我想要通过元素定位到这里的时候
我想了很多种方法都报了,比如,driver.find_element_by_link_text('人力资源'),报了Unable to locate element: 人力资源,这样的错误。 比如通过driver.find_element_by_class_name('menuA'),报的也是Unable to locate element: .menuA。后面我想是不是登陆进入系统的时候有页面跳转需要先切换,于是我加了一句driver.switch_to_default_content()。(登陆进去的时候是在
浏览器上增加了一个页面,我不知道这样页面跳转之后是要怎样处理的) 结果还是一样的,没办法找到元素。
好吧,先把自己遇到的问题
记录下来,目前我也没有其他的人可以请教,自己也没有什么好的方法去解决,只有是继续往后面学习再说,学到后面随着自己对于这方面的了解加深,我相信这些问题会不攻自破的。最后把我的代码贴上
from selenium import webdriver
import time
url='http://sso.szclou.com/login'
username = '****'
password = '****'
time.sleep(3)
driver = webdriver.Firefox()
driver.get(url)
#输入账号
driver.find_element_by_id('username').send_keys(username)
time.sleep(5)
#输入密码
driver.find_element_by_id('pw').send_keys(password)
time.sleep(5)
#点击登陆
driver.find_element_by_id('subBtn').click()
print('登陆成功')
#点击OA进入系统
time.sleep(3)
driver.find_element_by_id('oa').click()
#页面切换
driver.switch_to_default_content()
#将鼠标放在“人力资源”上面
from selenium.webdriver.common.action_chains import ActionChains
ele = driver.find_element_by_xpath('menuA')
ActionChains(driver).move_to_element(ele).perform()
#将鼠标放在“时间管理”上面
ele1 = driver.find_element_by_link_text('时间管理')
ActionChains(driver).move_to_element(ele1).perform()
#点击请假申请
sub_ele = driver.find_element_by_link_text('请假申请').click()
print('开始请假事项')
收藏
举报
TAG: