首页
学习
活动
专区
圈层
工具
发布
首页
学习
活动
专区
圈层
工具
社区首页 >问答首页 >如何使用Selenium-Python从日历中选择第二天

如何使用Selenium-Python从日历中选择第二天
EN

Stack Overflow用户
提问于 2019-05-17 11:01:18
回答 1查看 1.2K关注 0票数 2

无法使用Selenium在日历中选择明天的日期

我尝试过使用find_element_by_css_selector和find_element_by_xpath,但是似乎没有什么效果。

代码语言:javascript
代码运行次数:0
运行
AI代码解释
复制
import time
import datetime
from time import strftime
from selenium import webdriver
browser = webdriver.Chrome("C:\Program Files (x86)\Google\Chrome\Application\chromedriver_win32\chromedriver.exe")
browser.get('https://www.****.com')

browser.find_element_by_id("UserName").send_keys("***")
browser.find_element_by_id("password").send_keys("***")
browser.find_element_by_id("submit-sign-in").click()


browser.find_element_by_id("Information").click()
browser.find_element_by_id("Amenities").click()

browser.find_element_by_id("reserve").click()
browser.find_element_by_id("resv-date").click()

******#The code works fine until here**********

#Trying to pick tomorrows date from the calendar.
browser.find_element_by_css_selector("a.ui-state-default.ui-state-active").click()

Not getting an error message but it doesn't select the required date

现附上以下图片:

代码语言:javascript
代码运行次数:0
运行
AI代码解释
复制
<td class="  ui-datepicker-today" data-handler="selectDay" data-event="click" data-month="4" data-year="2019"><a class="ui-state-default ui-state-highlight" href="#">17</a></td>
<a class="ui-state-default ui-state-highlight" href="#">17</a></td>
<td class=" ui-datepicker-week-end  ui-datepicker-current-day" data-handler="selectDay" data-event="click" data-month="4" data-year="2019"><a class="ui-state-default ui-state-active" href="#">18</a></td>
<a class="ui-state-default ui-state-active" href="#">18</a>

片段日历选择器

EN

回答 1

Stack Overflow用户

回答已采纳

发布于 2019-05-17 11:13:05

您必须使用下面的css来选择第二天。

代码语言:javascript
代码运行次数:0
运行
AI代码解释
复制
td.ui-datepicker-current-day + td

代码:

代码语言:javascript
代码运行次数:0
运行
AI代码解释
复制
browser.find_element_by_css_selector("td.ui-datepicker-current-day+td").click()

+相邻的兄弟组合器。如果在当前示例中考虑到,td.ui-datepicker-current-day正在选择当前的日期,即17,但我们希望选择以下兄弟姐妹,因此使用+将选择同级,并指定筛选相邻的兄弟姐妹为td

如果您想在相同的情况下使用xpath,那么您可以使用following-sibling并通过标记名td进行筛选,如下所示。

代码语言:javascript
代码运行次数:0
运行
AI代码解释
复制
//td[contains(@class, 'ui-datepicker-current-day')]/following-sibling::td

简而言之,css中的+几乎等同于xpath中的following-sibling,这将有助于选择同级项。

请参阅上面讨论的方法上的CSS和Xpath的以下链接。

CSS

票数 1
EN
页面原文内容由Stack Overflow提供。腾讯云小微IT领域专用引擎提供翻译支持
原文链接:

https://stackoverflow.com/questions/56192168

复制
相关文章
为什么我会被 Kubernetes “洗脑”?
普元云计算架构师宋潇男点评: Kubernetes已在容器编排之战中取胜,未来很可能会成为“多云”之上的标准层,进而为分布式系统的分发和运行带来根本性的改变,而其自身则会慢慢变得像Linux Kernel一样,成为一种系统底层的支撑,不再引人注目。 原文的标题是The Gravity of Kuberrnetes,但是从内容上看,更像是近些年流行的“XXX is dead. Long live XXX.”的风格,所以在翻译标题的时候我们恶搞了一下。 本文金句: 通过Kubernetes,分布式系统工具将拥有
纯洁的微笑
2018/07/20
9020
为什么我会被Kubernetes“洗脑”?
文 | Jeff Meyerson Kubernetes 已在容器编排之战中取胜,未来很可能会成为“多云”之上的标准层,进而为分布式系统的分发和运行带来根本性的改变,而其自身则会慢慢变得像 Linux Kernel 一样,成为一种系统底层的支撑,不再引人注目。 本文金句: 通过 Kubernetes,分布式系统工具将拥有网络效应。每当人们为 Kubernetes 制作出的新的工具,都会让所有其他工具更完善。因此,这进一步巩固了 Kubernetes 的标准地位。 云提供商并非可替换的商品。不同的云提
顶级程序员
2018/05/03
1.5K0
为什么我会被Kubernetes“洗脑”?
为什么我会被 Kubernetes“洗脑”?
Kubernetes已在容器编排之战中取胜,未来很可能会成为“多云”之上的标准层,进而为分布式系统的分发和运行带来根本性的改变。
DevOps时代
2018/03/20
1.5K0
为什么我会被 Kubernetes“洗脑”?
为什么我会觉得它不好用?
前段时间收到公司信息安全部门的同事发来文档,上面列了目前在用的PO(Process Orchestration)系统爆出的漏洞清单,好家伙,单单一个50000端口就有23个漏洞。
SAP梦心
2022/10/27
4210
为什么安装 Navicat version 9 后,当打开查询或保存报表时,我会收到错误信息?
Cannot create file \"C:\Program Files\PremiumSoft\Navicat 8.2 MySQL\ ... xxx.xxx\". 系统找不到指定的路径。\
明哥的运维笔记
2019/01/30
1.1K0
​为什么我会选择走 Java 这条路?
本系列文章将整理到我在GitHub上的《Java面试指南》仓库,更多精彩内容请到我的仓库里查看
Java技术江湖
2019/10/14
4980
为什么我会选择走 Java 这条路?
最近有一些小伙伴问我,为什么当初选择走Java这条路,为什么不做C++、前端之类的方向呢,另外还有一些声音:研究生不是应该去做算法方向么,本科生不就可以做开发了吗,为什么还要读研呢。其实吧,这个问题搁在不同人身上,回答可能也是完全不一样的。我可能还是主要以我的角度出发,结合一些读者的问题,来说一说为什么要选择Java这条路。
程序员黄小斜
2019/04/30
7020
那些奇葩的面试!为什么我会拒绝这些公司的邀请?
昨天,跳槽大师的顾问跑来问我,之前给我推荐了十来家公司,都去面试了吗?我说,太多奇葩,只面了4家,已经拿到2个Offer。看在顾问们一周帮我拿到2个Offer的份上,就答应写篇文章,讲一讲为什么我会拒
分享达人秀
2018/03/26
1.4K0
那些奇葩的面试!为什么我会拒绝这些公司的邀请?
为什么我会选择 React 而不是 Vue?
你注意到我过于圆滑的标题了吗?我将依据我所喜欢的方式去构建这个对话,而不是我客观上认为的唇枪舌战。我想后者并不会起作用。
疯狂的技术宅
2019/03/27
1.4K0
80岁COBOL码农:「扶我起来,这个bug我会修。」
随着失业人数不断飙升,美国的失业系统已经不堪重负。上周,新泽西州州长发布了一份「紧急召集令」,急聘精通「上古语言」COBOL 的程序员,帮助修复已经使用了 40 多年的失业保险系统。
机器之心
2020/04/14
5350
80岁COBOL码农:「扶我起来,这个bug我会修。」
为什么我会选择Vert.x与Kotlin
而在后端方面,2020年笔者在自己的一个业余项目上使用了Spring Boot技术,并整理抽象出了一个基于DDD领域驱动风格的开源框架mydddd-backend。
御剑
2021/06/21
1.5K0
为什么我会选择Vert.x与Kotlin
python做界面,为什么我会强烈推荐nicegui
在网上搜索 "python 做界面" ,得到的结果无非是 Tkinter 、 wxWidgets 、 Qt 、 Gtk 。它们要不然就是打包后太大,要不就是界面丑,要不就是代码繁琐。这些都是 GUI,那么 web 界面又如何?
咋咋
2023/09/01
5.6K0
python做界面,为什么我会强烈推荐nicegui
事件处理类,收到事件后具体的业务处理逻辑
事件生产类,定义如何将业务逻辑的事件转为disruptor事件发布到环形队列,用于消费: package com.bolingcavalry.service; import com.lmax.disruptor.RingBuffer; public class StringEventProducer { // 存储数据的环形队列 private final RingBuffer<StringEvent> ringBuffer; public StringEventProduc
用户8671053
2021/09/26
6110
我会手动创建线程,为什么让我使用线程池?
现陆续将Demo代码和技术文章整理在一起 Github实践精选 ,方便大家阅读查看,本文同样收录在此,觉得不错,还请Star
用户1516716
2020/05/26
1.2K0
我会手动创建线程,为什么让我使用线程池?
我会手动创建线程,为什么让我使用线程池?
现陆续将Demo代码和技术文章整理在一起 Github实践精选 ,方便大家阅读查看,本文同样收录在此,觉得不错,还请Star
用户4172423
2020/04/22
7350
我会手动创建线程,为什么让我使用线程池?
为什么你收到的“个性化推荐”总是槽点满满?
互联网时代,信息量惊人膨胀,也意味着用户必须为信息筛选付出更大成本。个性化推荐技术的出现,意味着这个被信息淹没的时代,用户可以直接获得自己最感兴趣的内容推。但现实是,虽然这个技术已被广泛应用于各种互联网平台,但离真正读懂大家的心还很远。
DT数据侠
2018/08/08
6140
为什么你收到的“个性化推荐”总是槽点满满?
为什么CIO们不顾警告继续投资于外包
从历史上看,IT外包在很大程度上一直被视为是推动成本节约和效率提高的机会,抑或是能够让技术团队专注于少数核心领域的机会。尽管这些好处仍然存在,但外包的价值近年来已经发生了变化。
静一
2022/10/27
2410
python中的警告(不显示警告)
# import warnings # warnings.filterwarnings("ignore")
py3study
2020/01/09
3.6K0
点击加载更多

相似问题

iPhone:存储和检索NSMutableArray对象

32

从NSMutablearray保存和检索数据

11

目标C:关于从NSMutableArray中检索元素

21

目标C Iphone开发距离公式

20

目标C iPhone保存文本

12
添加站长 进交流群

领取专属 10元无门槛券

AI混元助手 在线答疑

扫码加入开发者社群
关注 腾讯云开发者公众号

洞察 腾讯核心技术

剖析业界实践案例

扫码关注腾讯云开发者公众号
领券
问题归档专栏文章快讯文章归档关键词归档开发者手册归档开发者手册 Section 归档
查看详情【社区公告】 技术创作特训营有奖征文