进入qq写信页面了,但是打印出的title不对,请问是什么原因
#进入写信driver.find_element(By.XPATH,"//a[@id='composebtn']").click() 这一步成功了,进入了qq邮箱-写信
driver.implicitly_wait(5)
title = driver.title
print title
打印出的结果:
但是打印出的title不对,是什么原因,我要的是qq邮箱-写信,但出来的结果还是qq邮箱,为什么;
另外如果用的是time.sleep(),最后一个打印的结果根本不出来,也不报错,为什么呢
这是进入的页面 在线等答复 试试这个:
driver.find_element(By.XPATH,"//a[@id='composebtn']").click()
driver.switch_to_window(driver.window_handles[-1])
time.sleep(3)
title = driver.title
print title
driver.implicitly_wait(5)把这个替换成time.sleep(5),然后保存下程序,在运行,看还有问题吗
完整程序如下:
#coding=utf-8
from selenium import webdriver
from selenium.webdriver.common.by import By
import time
driver = webdriver.Firefox()
driver.maximize_window()
driver.implicitly_wait(30)
driver.get("https://mail.qq.com/")
time.sleep(5)
driver.switch_to_frame("login_frame")
driver.find_element_by_id("u").clear()
driver.find_element_by_id("u").send_keys("XXX")
driver.find_element_by_id("p").clear()
driver.find_element_by_id("p").send_keys("XXX")
driver.find_element_by_id("login_button").click()
time.sleep(5)
#进入写信
driver.find_element(By.XPATH,"//a[@id='composebtn']").click()
time.sleep(5)
title = driver.title
print title 没切换框架导致的吧? #coding=utf-8
from selenium import webdriver
from selenium.webdriver.common.by import By
from selenium.webdriver.support.ui import WebDriverWait
import login1,time
driver = webdriver.Firefox()
driver.get('https://mail.qq.com/cgi-bin/loginpage')
driver.maximize_window()
driver.implicitly_wait(30)
title = driver.title
print title
now_url = driver.current_url
print now_url
time.sleep(2)
#调用登录
login1.login(driver)
title = driver.title
print title
now_url = driver.current_url
print now_url
#进入写信
driver.find_element(By.LINK_TEXT,u"写信").click()
now_title = driver.title
print now_title
加了智能等待结果还是一样
运行结果:
登录QQ邮箱
https://mail.qq.com/cgi-bin/loginpage
QQ邮箱
https://mail.qq.com/cgi-bin/frame_html?sid=4NVa_EuGCfqua0YR&r=65e6e695e38fad51d3bcff7e0a7e84de
QQ邮箱 前端UI显示是进入QQ邮箱-写信页面 #进入写信
driver.find_element(By.LINK_TEXT,u"写信").click()
driver.switch_to_window(driver.window_handles[-1])
now_title = driver.title
print now_title
加了切换窗口,运行结果如下:(打印结果都没出来,另外前端实际运行结果根本没有切换窗口)
登录QQ邮箱
https://mail.qq.com/cgi-bin/loginpage
QQ邮箱
https://mail.qq.com/cgi-bin/frame_html?sid=4NVa_EuGCfqua0YR&r=2d5dd16b62696986b1906cbe3ad74f98
这张图是前端运行之后展示出来的 求高手指导问题出在哪里 15387968462 发表于 2016-6-6 11:30
求高手指导问题出在哪里
亲测可以啊,你那个没打印出来,估计就是等待的时间太短了。
driver = webdriver.Firefox()
driver.get('https://mail.qq.com/cgi-bin/loginpage')
driver.maximize_window()
driver.implicitly_wait(30)
title = driver.title
print title
now_url = driver.current_url
print now_url
time.sleep(2)
#调用登录
driver.switch_to_frame("login_frame")
driver.find_element_by_id("u").clear()
driver.find_element_by_id("u").send_keys("test")
driver.find_element_by_id("p").clear()
driver.find_element_by_id("p").send_keys("test")
driver.find_element_by_id("login_button").click()
time.sleep(2)
#打印qq邮箱页面标题
title = driver.title
print title
now_url = driver.current_url
print now_url
#进入写信,打印写信标题
driver.find_element_by_link_text("写信").click()
time.sleep(5)
now_title = driver.title
print now_title
driver.quit() 若尘_51 发表于 2016-6-6 14:02
亲测可以啊,你那个没打印出来,估计就是等待的时间太短了。
driver = webdriver.Firefox()
driver.g ...
跟打印时间没关系吧,我设了打印时间为10秒都没用 这是我调用的登入模块login1.py
#coding=utf-8
#登录,选取当前所登录的QQ自动登录
def login(driver):
driver.switch_to_frame('login_frame')
driver.find_element_by_id('switcher_qlogin').click()
driver.find_element_by_class_name('img_out').click()
driver.switch_to_default_content()
def logout(driver):
driver.quit() 若辰,留个QQ号给我,我私聊你,可好 15387968462 发表于 2016-6-6 14:22
跟打印时间没关系吧,我设了打印时间为10秒都没用
那就奇怪了, 我上面的脚本运行的是杠杠的啊:你把打印那块的脚本再给我看看
运行结果:
登录QQ邮箱
https://mail.qq.com/cgi-bin/loginpage
QQ邮箱
https://mail.qq.com/cgi-bin/frame_html?sid=-jYSspOexRhNJy16&r=3e672d65db78ec614fd0bf58625cbf8d
QQ邮箱 - 写信 我用你的也没用 运行结果及打开的页面 15387968462 发表于 2016-6-6 14:49
我用你的也没用
哈哈,那就奇怪啦。我就是用上面的脚本跑通的。 结果如图所示
页:
[1]
2