谁给写个webdriver 登录百度例子啊?
这里涉及到frame切换!网上的教程的例子都是一样的不生动。我刚试了一下不知道为什么不行。
from selenium import webdriver
import unittest
class login(unittest.TestCase):
def setUp(self):
self.driver = webdriver.Firefox()
self.driver.implicitly_wait(30)
self.base_url = "http://www.baidu.com"
self.verificationErrors = []
def test_loginpass(self):
driver = self.driver
driver.get(self.base_url)
driver.find_element_by_link_text("登录")
driver.switchTo().frame("login_iframe");
driver.find_element_by_id("pass_login_username_0").send_keys("user")
driver.find_element_by_id("pass_login_password_0").send_keys("pwd")
driver.find_element_by_id("pass_login_input_submit_0").click()
def tearDown(self):
#self.driver.quit()
self.assertEqual([], self.verificationErrors)
if __name__ == "__main__":
unittest.main() 没人来看一下么:shutup: 你不说一下错误提示吗?是找不到元素还是什么其他情况……
百度登录貌似很简单啊,不就是用javascript做了一个iframe吗。我用webdriver试了一下,一点问题没有啊。 咦,我的回帖咋还没上去?审核没过? 你最好把你运行后的结果完整说一下,我试了一下百度的登录,用webdriver一点问题没有。从你的代码来看,貌似没有点击登录那个链接吧,只是做了一下查找,driver.find_element_by_link_text("登录")后面需要加个click方法吧。
还有,点击之后直接跳iframe可能会有问题,我的习惯是,只要有异步的内容出现,我肯定要做一下等待,否则很可能出现找不到元素的错误出现。 回复 5# 六月天
谢谢!上面是没有加click().可能这个是调试的代码。我今天在家里电脑试下可以,不知道在公司为什么不行我回去在查查。 谢谢六月天,问题解决代码如下:
from selenium import webdriver
import unittest
class login(unittest.TestCase):
def setUp(self):
self.driver = webdriver.Firefox()
self.driver.implicitly_wait(30)
self.base_url = "http://www.baidu.com"
self.verificationErrors = []
def test_loginpass(self):
driver = self.driver
driver.get(self.base_url)
driver.find_element_by_link_text("登录").click()
driver.implicitly_wait(30)
driver.switch_to_frame("login_iframe")
driver.find_element_by_id("pass_login_username_0").send_keys("name")
driver.find_element_by_id("pass_login_password_0").send_keys("pwd")
driver.find_element_by_id("pass_login_input_submit_0").click()
def tearDown(self):
#self.driver.quit()
self.assertEqual([], self.verificationErrors)
if __name__ == "__main__":
unittest.main() 亲 没遇到百度登陆需要填写验证码的情况吗? 现在百度的登录是要验证码的,自动化估计做不了 我用IDE录制登陆脚本没有问题啊 我的问题是脚本回放退出操作时会报错,因为找不到鼠标悬停弹出菜单上的菜单项,这个问题怎么解决呢?
页:
[1]