51Testing软件测试论坛

 找回密码
 (注-册)加入51Testing

QQ登录

只需一步,快速开始

微信登录,快人一步

手机号码,快捷登录

查看: 1718|回复: 1
打印 上一主题 下一主题

[在学] 写代码,系统报错提示is_displayed()方法不存在

[复制链接]

该用户从未签到

跳转到指定楼层
1#
发表于 2019-2-15 14:01:49 | 只看该作者 回帖奖励 |倒序浏览 |阅读模式
#-*-coding:utf-8 -*-# author:amyfrom selenium import webdriverfrom selenium.webdriver.common.keys import Keysfrom selenium.webdriver import ActionChainsimport timedef login(driver):    driver.maximize_window()    driver.get("https://passport.ctrip.com/user/login?BackUrl=https%3A%2F%2Fwww.ctrip.com%2F")  # 登录页面    time.sleep(4)    driver.find_element_by_id("nloginname").send_keys("1977")  # 用户名    driver.find_element_by_id("npwd").clear()    driver.find_element_by_id("npwd").send_keys("xig")  # 密码    time.sleep(2)    move=xpath(driver,'/html/body/div[3]/div[2]/div/div[1]/div[1]/dl[3]/dd/div[1]/div[4]')    # 携程网登陆页面,滑动验证码参考    if move.is_displayed():  # 验证码是否存在        action = ActionChains(driver)        source = driver.find_element_by_xpath('//*[@id="sliderddnormal"]/div[1]/div[2]')  # 需要滑动的元素        action.click_and_hold(source).perform()  # 鼠标左键按下不放        action.move_by_offset(255, 0)  # 需要滑动的坐标        action.release().perform()  # 释放鼠标        time.sleep(2)        print('滑动成功')    driver.find_element_by_id("nsubmit").click()  # 点击登录按钮    print("登录成功!")    driver.switch_to.default_content()#搜索票def idsendkey(driver,element,keys):    driver.find_element_by_id(element).send_keys(keys)def idclick(driver,ele1):    driver.find_element_by_id(ele1).click()def id(driver,ele1):    driver.find_element_by_id(ele1)def cssselect(driver,ele2):    driver.find_element_by_css_selector(ele2).click()def css(driver,ele):    driver.find_element_by_css_selector(ele)def xpath(driver,ele3):    driver.find_element_by_xpath(ele3)def search(driver,go,arrive):    # ii=css(driver,"#nav_trains")    # ActionChains(driver).move_to_element(ii).perform()    # idclick(driver,"c_ph_train_t")    idsendkey(driver,"notice01", go+Keys.ENTER)    idsendkey(driver,"notice08", arrive+Keys.ENTER)    time.sleep(1)    driver.execute_script("document.getElementById('dateObj').value='2019-1-20'")  # 输入日期    time.sleep(1)    driver.find_element_by_class_name("current").click()#国内火车票空白处点击    idclick(driver,"appd_wrap_close")  # 关闭移动手机APP弹框    time.sleep(1)    cssselect(driver,"#searchbtn")  # 点击搜索按钮    time.sleep(4)    xpath(driver,'//*[@id="tbody-01-G70722"]/div[1]/div[6]/div[1]/a').click()  # 点击预订按钮
老师你好:
写代码,系统报错提示is_displayed()方法不存在

在学课程:
Python Selenium3项目实战
http://www.atstudy.com/course/1005


分享到:  QQ好友和群QQ好友和群 QQ空间QQ空间 腾讯微博腾讯微博 腾讯朋友腾讯朋友
收藏收藏
回复

使用道具 举报

该用户从未签到

2#
发表于 2019-2-15 14:53:00 | 只看该作者
这种要注意下,滑块不是每次都出现,需要用try,当不存在会抛异常
找不到会报错,后面有讲这个,try   catch
回复 支持 反对

使用道具 举报

本版积分规则

关闭

站长推荐上一条 /1 下一条

小黑屋|手机版|Archiver|51Testing软件测试网 ( 沪ICP备05003035号 关于我们

GMT+8, 2024-11-15 06:39 , Processed in 0.066186 second(s), 22 queries .

Powered by Discuz! X3.2

© 2001-2024 Comsenz Inc.

快速回复 返回顶部 返回列表