51Testing软件测试论坛

标题: 进入qq写信页面了,但是打印出的title不对,请问是什么原因 [打印本页]

作者: 15387968462    时间: 2016-6-1 13:53
标题: 进入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(),最后一个打印的结果根本不出来,也不报错,为什么呢



作者: 15387968462    时间: 2016-6-1 13:57
这是进入的页面
作者: 15387968462    时间: 2016-6-1 13:58
在线等答复
作者: 若尘_51    时间: 2016-6-1 17:14
试试这个:
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



作者: 掉渣饼    时间: 2016-6-1 21:51
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
作者: wu.jingwei    时间: 2016-6-2 08:46
没切换框架导致的吧?
作者: 15387968462    时间: 2016-6-6 11:21
#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/fram ... d51d3bcff7e0a7e84de
QQ邮箱
作者: 15387968462    时间: 2016-6-6 11:22
前端UI显示是进入QQ邮箱-写信页面
作者: 15387968462    时间: 2016-6-6 11:25
#进入写信
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/fram ... 986b1906cbe3ad74f98

作者: 15387968462    时间: 2016-6-6 11:29
这张图是前端运行之后展示出来的
作者: 15387968462    时间: 2016-6-6 11:30
求高手指导问题出在哪里
作者: 若尘_51    时间: 2016-6-6 14:02
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()
作者: 15387968462    时间: 2016-6-6 14:22
若尘_51 发表于 2016-6-6 14:02
亲测可以啊,  你那个没打印出来,估计就是等待的时间太短了。
driver = webdriver.Firefox()
driver.g ...

跟打印时间没关系吧,我设了打印时间为10秒都没用
作者: 15387968462    时间: 2016-6-6 14:31
这是我调用的登入模块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()
作者: 15387968462    时间: 2016-6-6 14:44
若辰,留个QQ号给我,我私聊你,可好
作者: 若尘_51    时间: 2016-6-6 14:47
15387968462 发表于 2016-6-6 14:22
跟打印时间没关系吧,我设了打印时间为10秒都没用

那就奇怪了, 我上面的脚本运行的是杠杠的啊:  你把打印那块的脚本再给我看看
运行结果:

登录QQ邮箱
https://mail.qq.com/cgi-bin/loginpage
QQ邮箱
https://mail.qq.com/cgi-bin/fram ... c614fd0bf58625cbf8d
QQ邮箱 - 写信

作者: 15387968462    时间: 2016-6-6 14:49
我用你的也没用
作者: 15387968462    时间: 2016-6-6 14:52
运行结果及打开的页面
作者: 若尘_51    时间: 2016-6-6 14:53
15387968462 发表于 2016-6-6 14:49
我用你的也没用

哈哈,那就奇怪啦。  我就是用上面的脚本跑通的。
作者: 15387968462    时间: 2016-6-6 14:53
结果如图所示
作者: 15387968462    时间: 2016-6-6 14:54
770945845,加个Q,这里回复还要审核
作者: 15387968462    时间: 2016-6-6 14:55
321312312312
作者: 若尘_51    时间: 2016-6-6 14:58
15387968462 发表于 2016-6-6 14:53
结果如图所示

你那个脚本,写错了:
time.sleep(5)
driver.find_element_by_link_text("写信").click()
修改成
driver.find_element_by_link_text("写信").click()
time.sleep(5)
作者: 15387968462    时间: 2016-6-6 15:01
这个地方我加过,本来是加在后面的,但是加在后面有时候会跳过点击写信,后面我改为前面后面都加了,如下:
time.sleep(5)
driver.find_element(By.LINK_TEXT,u"写信").click()
time.sleep(5)
now_title = driver.title
print now_title

但是这样不知道为什么打印不出来now_title
作者: 15387968462    时间: 2016-6-6 15:03
43124214421
作者: 若尘_51    时间: 2016-6-6 15:07
15387968462 发表于 2016-6-6 15:01
这个地方我加过,本来是加在后面的,但是加在后面有时候会跳过点击写信,后面我改为前面后面都加了,如下:
tim ...

没道理啊   
(1)你运行的时候看看到底有木有进入写信的界面。  
(2)你试试不用工具,直接点击python脚本执行。
再不行,那真是见鬼了
作者: 若尘_51    时间: 2016-6-6 15:10
15387968462 发表于 2016-6-6 15:03
43124214421

我怀疑是工具的问题,你试试在最后后面继续添加:

print “test”
print “test2”
作者: 15387968462    时间: 2016-6-6 15:35
3214214124124
作者: 15387968462    时间: 2016-6-6 15:39
果然是工具问题,Python 2.7.11 (v2.7.11:6d1b6a68f775, Dec  5 2015, 20:32:19) [MSC v.1500 32 bit (Intel)] on win32
Type "copyright", "credits" or "license()" for more information.
>>>
============== RESTART: C:\Users\lidiya\Desktop\text.py\test.py ==============
登录QQ邮箱
https://mail.qq.com/cgi-bin/loginpage
QQ邮箱
https://mail.qq.com/cgi-bin/fram ... ad7555f057bc719f07f
QQ邮箱 - 写信
test
test1
>>>
作者: 15387968462    时间: 2016-6-6 15:43
确实是Submine test3工具的问题,直接用IDE运行,是OK的




欢迎光临 51Testing软件测试论坛 (http://bbs.51testing.com/) Powered by Discuz! X3.2