打开携程网

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. 用安卓 WebView 做一个“套壳”应用

    前言 目前手机应用市场上的 APP 类型主要为以下两种: Native App(原生应用):直接针对平台(Android.iOS 等手机系统)进行开发,属于性能最优的方案,也是开发成本最大的方案. H ...

  2. shell中列表的定义与循环

    字符串列表定义方法1: a=(f1 f2 f3 f4) for i in ${a[*]}#遍历每一个列表值 for i in ${a[@]}#遍历每一个列表值 实例: #!bin/basha=(f1 ...

  3. tomcat-8.0.18 cluster 使用Redis共享Session 配置

    事实证明 这位作者提在https://jingyan.baidu.com/article/ac6a9a5e10415f2b653eace8.html 最底下的http://pan.baidu.com/ ...

  4. centos开放指定端口

    1.开启防火墙      systemctl start firewalld 2.开放指定端口       firewall-cmd --zone=public --add-port=1935/tcp ...

  5. InnoDB 引擎中的索引类型

    首先索引是一种数据结构,并且索引不是越多越好.合理的索引可以提高存储引擎对数据的查询效率. 形象一点来说呢,索引跟书本的目录一样,能否快速的查找到你需要的信息,取决于你设计的目录是否合理. MySQL ...

  6. warning: #1295-D: Deprecated declaration LED_Init - give arg types警告的解决办法

  7. UI中table写表格

  8. [LeetCode]面试题53 - I. 在排序数组中查找数字 I(二分);面试题53 - II. 0~n-1中缺失的数字(二分)

    ##面试题53 - I. 在排序数组中查找数字 I ###题目 统计一个数字在排序数组中出现的次数. 示例 1: 输入: nums = [5,7,7,8,8,10], target = 8 输出: 2 ...

  9. c#中的ReadOnlySequenceSegment<T>和ReadOnlySequenceSegment<T>

    关于.net core高性能编程中的Span<T>和Memory<T>网上资料很多,这里就不说了.今天一直在看ReadOnlySequenceSegment<T>和 ...

  10. 【python】调用sm.ms图床api接口,实现上传图片并返回url

    图床简介 sm.ms网站提供免费的图床服务.单图上传大小限制5MB,每次最多上传10张,支持多种图片链接格式和api接口调用. 获取令牌 注册账号并登录,点击User-Dashboard 点击API ...