selenium获取ticket.yes24.com信息

这篇具有很好参考价值的文章主要介绍了selenium获取ticket.yes24.com信息。希望对大家有所帮助。如果存在错误或未考虑完全的地方,请大家不吝赐教,您也可以点击"举报违法"按钮提交疑问。

1.定义用户名,密码(自行注册),设置页面加载策略,关闭selenium受控制chrome提示,确定需要访问的url。

from selenium import webdriver

USERNAME = "xxx"

PASSWORD = "xxx"

options = webdriver.Chromeoptions()    # 实例化
option.add_experimental_option('excludeSwitches', ['enable-automation'])
option.add_experimental_option('useAutomationExtension', False)    # 移除受chrome控制提示
option.page_load_strategy = 'eager'    # 设置页面加载策略
browser = webdriver.Chrome(options=option)
browser.maximize_window()    # 窗口最大化
url = "http://ticket.yes24.com/New/Perf/Detail/Detail.aspx?IdPerf=45494&Gcode=009_303"
browser.get('url')

2.进入url定义的网页中,利用selenium自动化测试和Xpath元素定位进行日期、场次,预定操作,并在网页弹窗提示下进行登录,再次确认以上信息,进入购票窗口。

# 当前点击事件短时间内生效
# 以后需要再运行此段代码,需对节点书否能够点击进行一个判断
browser.find_element(By.XPATH, '//*[@id="rncalendar"]/div/table/tbody/tr[2]/td[7]').click()     
browser.find_element(By.XPATH, '//*[@id="mainForm"]/div[10]/div/div[4]/a[4]').click()
browser.switch_to.alert.accept()  # 当选好日期场次时,预定,网页弹出登录提示,确认弹窗,跳转登录
time.sleep(1)

# 输入用户名
browser.find_element(By.XPATH, '//*[@id="SMemberID"]').click()
browser.find_element(By.XPATH, '//*[@id="SMemberID"]').send_keys(USERNAME)
browser.find_element(By.XPATH, '//*[@id="SMemberID"]').send_keys(Keys.TAB)
time.sleep(1)

# 输入密码
# 密码进行了特殊处理,普通定位无法输入
pwd = browser.find_element(By.XPATH, '//*[@id="spanMemPW"]')
ActionChains(browser).send_keys_to_element(pwd, PASSWORD).perform()


# 点击登录
browser.find_element(By.XPATH, '//*[@id="btnLogin"]/span').click()
WebDriverWait(driver=browser, timeout=2)  # 显示等待

# 登陆后再次确认日期、场次。预定,进入下一个窗口
browser.find_element(By.XPATH, '//*[@id="rncalendar"]/div/table/tbody/tr[2]/td[7]').click()
browser.find_element(By.XPATH, '//*[@id="PerfPlayTime"]/a').click()
browser.find_element(By.XPATH, '//*[@id="mainForm"]/div[10]/div/div[4]/a[4]').click()
browser.find_element(By.CSS_SELECTOR, '.rn-bb03').click()
WebDriverWait(driver=browser, timeout=2)  # 显示等待

 3.此时进入一个新的窗口,需要通过句柄来切换窗口。(网页源代码中并无iframe标签,无法通过切换iframe来进行切换)

# 通过句柄切换操作窗口
handles = browser.window_handles
browser.switch_to.window(handles[-1])
time.sleep(2)

# 进入新窗口之前,已经确认的日期等信息已经默认选好,只需点击下一步
browser.find_element(By.XPATH,'//div//div[@id="StateBoard"]//div[@id="StepCtrlBtn01"]/a').click()


# 之后需要切换到新窗口的iframe中操作
browser.switch_to.frame("ifrmSeatFrame")    # 切换iframe
# 在选座界面获取未被购买座位的信息,为下一步选座做准备,response时一个element列表
response = browser.find_elements(By.XPATH, '//div[@id="divSeatArray"]/div')
# 通过for循环输入并选择座位,此处为快速实现效果,选择了第一处未出售空位,自行选择需要改写for循环
# 需要的信息不一定存在标签的文本中,也可能时标签的属性值,需要用到xx,get_attribute('属性名')方法for i in response:
    if i.get_attribute('title'):
        print("座位编号:", i.get_attribute('value'))
        print("座位:", i.get_attribute('title'))
        i.click()
        break
browser.find_element(By.XPATH,'//[@id="form1"]/div[3]/div[2]/div/div[2]/p[2]/a/img')
.click()
time.sleep(1)

4.第三步已经完成了选座操作,接下来就要获取一些基本信息

# 购买信息需要切换iframe才能够获取,否则即便在网页中使用Xpath helper能够获取到需要的信息,在代码中# 也无法实现,只会报错未定位到该元素,下面同样使用xx,get_attribute('属性名')方法
browser.switch_to.default_content()  # 切回原iframe
Id_Hall = browser.find_element(By.XPATH, '//div[@id="warp"]//div[@id="step01_time"]//ul[@id="ulTime"]/li').get_attribute('idhall')
print("IdHall:", Id_Hall)
Id_Time = browser.find_element(By.XPATH, '//div[@id="warp"]//div[@id="step01_time"]//ul[@id="ulTime"]/li').get_attribute('value')
print("IdTime:", Id_Time)
commission = browser.find_element(By.XPATH, '//div[@id="StateBoard"]//div//ul//li[@class="tk_charge"]//span')
print("手续费:", commission.text)
freight = browser.find_element(By.XPATH, '//div[@id="StateBoard"]//div//ul//li[@class="tk_deli"]//span')
print("运费:", freight.text)
browser.quit()

文章来源地址https://www.toymoban.com/news/detail-735846.html

到了这里,关于selenium获取ticket.yes24.com信息的文章就介绍完了。如果您还想了解更多内容,请在右上角搜索TOY模板网以前的文章或继续浏览下面的相关文章,希望大家以后多多支持TOY模板网!

本文来自互联网用户投稿,该文观点仅代表作者本人,不代表本站立场。本站仅提供信息存储空间服务,不拥有所有权,不承担相关法律责任。如若转载,请注明出处: 如若内容造成侵权/违法违规/事实不符,请点击违法举报进行投诉反馈,一经查实,立即删除!

领支付宝红包 赞助服务器费用

相关文章

  • Python自动化测试工具selenium使用指南

    概述 selenium 是网页应用中最流行的自动化测试工具,可以用来做自动化测试或者浏览器爬虫等。官网地址为:相对于另外一款web自动化测试工具QTP来说有如下优点: 免费开源轻量级,不同语言只需要一个体积很小的依赖包 支持多种系统,包括Windows,Mac,Linux 支持多种浏览器

    2024年02月04日
    浏览(68)
  • 03-selenium-获取元素信息

    1、text 获取元素的文本 2、size 获取元素的大小 3、get_attribute 获取元素属性值 4、is_displayed 判断元素是否可见 5、is_enabled 判断元素是否可用 6、is_selected 判断元素是否被选中

    2024年02月11日
    浏览(41)
  • selenium--获取页面信息和截图

    主要方法如下图: 介绍一下常用的方法: 获取浏览器名字 获得当前的url 获得这个页面的title,也就是这个: 获得当前窗口id 获得所有窗口的id 获得这个页面的html源码 现在要判断打开的页面是否是百度页面,可以用到上面的几个方法: 1.title 2.page_source 获得二进制内容 这只

    2024年02月09日
    浏览(40)
  • selenium获取元素信息常用方法

    如何使用 Selenium 获取网页元素的信息 Selenium 是一个用于 Web 应用程序测试的工具,可以使用它来模拟用户在浏览器中的操作,并进行自动化测试。其中最常见的任务之一就是获取网页元素的信息,我们可以使用 Selenium 提供的方法来获取元素的文本内容、大小、属性值等信息

    2024年02月15日
    浏览(44)
  • 如何使用Python自动化测试工具Selenium进行网页自动化?

    Selenium 是一个流行的Web自动化测试框架, 它支持多种编程语言和浏览器,并提供了丰富的API和工具来模拟用户在浏览器中的行为 。 Selenium可以通过代码驱动浏览器自动化测试流程,包括页面导航、元素查找、数据填充、点击操作等。 与PyAutoGUI和AutoIt相比, Selenium更适合于处

    2023年04月09日
    浏览(126)
  • 测试员进阶必看系列 “ python自动化测试工具selenium使用指南 ”

    概述 python+selenium环境安装 使用selenium启动浏览器 selenium页面加载等待和检测 使用time.sleep()等待 使用implicitly_wait设置最长等待时间 使用WebDriverWait设置等待条件 检测document是否加载完成 selenium元素定位和读取 查找元素 dom元素交互 查找元素失败处理 selenium交互控制 ActionChains动

    2024年02月05日
    浏览(112)
  • python自动化测试工具selenium使用指南 ,绝对能帮到你

    目录 概述 python+selenium环境安装 使用selenium启动浏览器 selenium页面加载等待和检测 使用time.sleep()等待 使用implicitly_wait设置最长等待时间 使用WebDriverWait设置等待条件 检测document是否加载完成 selenium元素定位和读取 查找元素 dom元素交互 查找元素失败处理 selenium交互控制 Actio

    2024年02月08日
    浏览(53)
  • Python Selenium4.3.0(新语法) web自动化测试工具

    1 介绍 Selenium是一个用于Web应用程序测试的工具。Selenium测试直接运行在浏览器中,就像真正的用户在操作一样。 支持的浏览器包括IE(7, 8, 9, 10, 11),Mozilla Firefox,Safari,Google Chrome,Opera,Edge等 这个工具的主要功能包括:测试与浏览器的兼容性——测试应用程序看是否能够

    2024年01月24日
    浏览(51)
  • ubuntu 18.04 配置自动化测试工具 appium + selenium+python3

    sudo add-apt-repository ppa:danielrichter2007/grub-customizer sudo apt-get update sudo apt-get install grub-customizer sudo apt-get install openjdk-8-jdk ================================================================================ 【已经安装Android studio 可以跳过】 下载SDK =============================== 配置环境变量 【配置环境变量

    2024年02月03日
    浏览(100)
  • selenium 知网爬虫之根据【关键词】获取文献信息

    哈喽大家好,我是咸鱼 之前咸鱼写过几篇关于知网爬虫的文章,后台反响都很不错。虽然但是,咸鱼还是忍不住想诉苦一下 有些小伙伴文章甚至代码看都没看完,就问我 ”为什么只能爬这么多条文献信息?“(看过代码的会发现我代码里面定义了 papers_need 变量来设置爬取篇

    2024年02月08日
    浏览(48)

觉得文章有用就打赏一下文章作者

支付宝扫一扫打赏

博客赞助

微信扫一扫打赏

请作者喝杯咖啡吧~博客赞助

支付宝扫一扫领取红包,优惠每天领

二维码1

领取红包

二维码2

领红包