打开携程网

from selenium import webdriver
from time import sleep
from selenium.webdriver.common.keys import Keys #Keys类 #common
from selenium.webdriver.support.ui import Select #select类定位下拉框
drvier=webdriver.Chrome()
url='https://www.ctrip.com/'#携程网
drvier.get(url)
drvier.maximize_window()
sleep(3)

a =drvier.find_element_by_id('HD_CityName') #找到你要清空的位置
a.clear()

输入时间值的方法

#drvier.find_element_by_id('HD_CheckIn').send_keys('2020-9-14')

js ='document.getElementById("HD_CheckIn").value="2020-09-17"'# 使用JS语法
drvier.execute_script(js)

退房时间:先清空,在定位,输入值

a=drvier.find_element_by_id('HD_CheckOut')
a.clear()
drvier.find_element_by_id('HD_CheckOut').send_keys('2020-09-29')

房间数定位元素:属于下拉框

通过下标定位

s=drvier.find_element_by_id('J_roomCountList')#当前下拉框的具体位置
Select(s).select_by_index(6)

如皋没有清空的情况下:会出现时间重复的情况

from selenium import webdriver
from time import sleep
from selenium.webdriver.common.keys import Keys #Keys类 #common
from selenium.webdriver.support.ui import Select #select类定位下拉框
drvier=webdriver.Chrome()
url='https://www.ctrip.com/'#携程网
drvier.get(url)
drvier.maximize_window()
sleep(10)
drvier.find_element_by_id('HD_CityName').send_keys('深圳')
#
# a =drvier.find_element_by_id('HD_CityName') #找到你要清空的位置
# a.clear()
# a =drvier.find_element_by_id('HD_CheckIn') #找到你要清空的位置
#a.clear() #清空当前输入框中的值
# sleep(2)
drvier.find_element_by_id('HD_CheckIn').send_keys('2020-9-14')




from selenium import webdriver
from time import sleep
from selenium.webdriver.common.keys import Keys #Keys类 #common
from selenium.webdriver.support.ui import Select #select类定位下拉框
drvier=webdriver.Chrome()
url='https://www.ctrip.com/'#携程网
drvier.get(url)
drvier.maximize_window()
sleep(3)
drvier.find_element_by_id('HD_CityName').send_keys('深圳')
#
# a =drvier.find_element_by_id('HD_CityName') #找到你要清空的位置
# a.clear()
a =drvier.find_element_by_id('HD_CheckIn') #找到你要清空的位置
a.clear() #清空当前输入框中的值
# sleep(2)
#drvier.find_element_by_id('HD_CheckIn').send_keys('2020-9-14')
# js ='document.getElementById("HD_CheckIn").value="2020-09-17"'# 使用JS语法
# drvier.execute_script(js)
k =drvier.find_element_by_id("HD_CheckIn")# 通过keys类
k.send_keys(Keys.CONTROL,'a') #通过keys中的方法:a代表全部选择
sleep(4)
l =drvier.find_element_by_id("HD_CheckIn")
l.send_keys(Keys.CONTROL,'x') #X代表剪切
sleep(4)
drvier.find_element_by_id("HD_CheckIn").send_keys('2020-09-28')
sleep(2) #退房时间
a=drvier.find_element_by_id('HD_CheckOut')
a.clear()
drvier.find_element_by_id('HD_CheckOut').send_keys('2020-09-29')
s=drvier.find_element_by_id('J_roomCountList')#当前下拉框的具体位置
Select(s).select_by_index(6) #通过索引来选择对应的房间
sleep(4) #选择住客数通过传统方法定位
# drvier.find_element_by_id('J_RoomGuestInfoTxt').click() #点击住客数
# drvier.find_element_by_css_selector('.number_plus').click()
# drvier.find_element_by_id('J_RoomGuestInfoBtnOK').click()
# 通过js语法来定位选择住客数
j_s='document.getElementById("J_RoomGuestInfoTxt").value="8成人"'
drvier.execute_script(j_s)
drvier.find_element_by_id('HD_TxtKeyword').send_keys('世界之窗')
l =drvier.find_element_by_id('searchHotelLevelSelect') #酒店级别的位置
Select(l).select_by_index(1) #通过索引来找到酒店
drvier.find_element_by_id('HD_Btn').click()

多测师讲解selenium _携程选票定位练习_高级讲师肖sir的更多相关文章

  1. 多测师讲解自动化selenium___定位元素002___高级讲师肖sir

    高级自动化测试python+selenium教程手册 --高级讲师肖sir(Harm) 第 2 章8种定位方法 总结: selenium 的 webdriver 提供了八种基本的元素定位方法,前面六种 ...

  2. 多测师讲解自动化测试 _RF封装_(三层模式)高级讲师肖sir

    rf自动化:分层作用: 1.项目----有重复的流程(借款-登录,出借-登录) 2.借款--登录(8个流程)机器人:案例层(用例)写在机器人中,1个机器人=1条用例 分三个层次: 1.案例层(存放用例 ...

  3. 多测师讲解自动化测试 _RF关键字001_(上)_高级讲师肖sir

    讲解案例1: Open Browser http://www.baidu.com gc #打开浏览器 Maximize Browser Window #窗口最大化 sleep 2 #线程等待2秒 In ...

  4. 多测师讲解第一个月 _综合面试题_高级讲师肖sir

    第一个月综合面试题 1.  冒烟测试是什么意思?  对主要的用例测试 2.你们公司的项目流程是什么? 3.你们公司的bug分几个级别?  4个 4.你对外键是怎么理解的? 你会使用外键吗?给一个表添加 ...

  5. 多测师讲解自动化--rf断言(下)--_高级讲师肖sir

    1.Page Should Contain 1.1存在页面上的内容 1.2 不存在页面上的内容, 运行抛异常 1.3 Page Should Not Contain 1.4 1.5 输入页面元素,判断 ...

  6. 多测师讲解自动化--rf关键字--断言(下)_高级讲师肖sir

    断言: 1.1Page Should Contain Maximize Browser Window sleep 2 Comment Page Should Contain hao123 #断言当前页 ...

  7. 多测师讲解自动化测试_rf节课内容_高级讲师肖sir

    *** Settings ***Library Selenium2LibraryLibrary OperatingSystem *** Variables ***${name} zhangsan@{l ...

  8. 多测师讲解python_模块(导入模块和内置模块)_高级讲师肖sir

    #自定义模块# from aaa import * #指定导入某个包中具体的类.函数.方法## A.fun1(2,2) #import +模块名 :# # import +模块名+.+.+# # 导入 ...

  9. 多测师讲解html _图片标签003_高级讲师肖sir

    <!DOCTYPE html><html> <head> <meta charset="UTF-8"> <title>段 ...

随机推荐

  1. 二.spring boot第一个web服务

    通过<一.spring boot初始化项目>我们已经会初始化spring boot项目,那本篇文章就说明下初始化项目的具体内容,并编写第一个Hello页面. 项目结构 mvnw.mvnw. ...

  2. 沉珂日重的Java项目 Spring真的帮到我们了吗?

    开局三连图. 这是刚开始时的程序结构,虽清晰已经有混乱的前兆. 业务增加,人员增加后就会沉珂日重. 几年后,最后的模样会让使用者和维护者都很无奈. 人们喜欢把Java程序的层次结构比作建筑,实际却最像 ...

  3. ZT:如果有来生,要做一棵树

    出处:https://zhidao.baidu.com/question/393644025.html 原以为是三毛所作,想不到还有争议. 如果有来生,要做一棵树, 站成永恒.没有悲欢的姿势, 一半在 ...

  4. 20190928-01Redis五大数据类型之Hash和Zset 000 029

  5. leetcode刷题-71简化路径

    题目 以 Unix 风格给出一个文件的绝对路径,你需要简化它.或者换句话说,将其转换为规范路径. 在 Unix 风格的文件系统中,一个点(.)表示当前目录本身:此外,两个点 (..) 表示将目录切换到 ...

  6. 安装paddle的问题,报错Can not find library: libcudnn.so. The process maybe hang.

    今天在服务器上安装paddle的GPU版时报错 报错截图如下: 其实报错已经提示的很明显了,就是要添加一个环境变量.但我想到我之前并没有在全局环境下安装cudnn,以为是这个原因.因为之前安装pyto ...

  7. burpsuite抓包乱码问题

    网上百度说只需要Change Font选择中文字体即可,但是我这边试过还是乱码,按照网上一篇博客说抓包中按钮展示乱码的问题,在下面Character Sets选择Use a specific char ...

  8. 移动web开发之rem适配布局

    移动web开发之rem适配布局 方案: 页面布局文字能否随着屏幕大小变化而变化 流式布局和flex布局主要针对于宽度布局,那高度如何布局? 怎样让屏幕发生变化的时候元素高度和宽度等比例缩放? 1. r ...

  9. 码云+Git配置仓库

    版本库Git安装 概述 Git是一个开源的分布式控制系统,可以有效高速的处理从很小的到非常大的项目版本管理,是目前使用范围最广的版本管理工具. 下载安装 下载后傻瓜式一键安装,建议安装在英文目录下,安 ...

  10. axios之post提交

    axios官网地址:https://github.com/axios/axios post提交到后台需要做相对应的处理 使用URLSearchParams可以让post 数据提交到后台 对应gitHu ...