java - Selenium Java - 如何从单个下拉列表中提取数据(时间字段)
问题描述
大家好:我有下一个关于从单个日历字段中提取数据的家伙。
我想HH.MM.AM/PM
从单个日期字段中获取信息 ( ),但我做不到。
我一直在尝试下一个代码:
WebElement currTime = driver.findElement(By.xpath("/html/body/div[31]/div[2]/div/div[1]/" +
"dv-add-activity-note-form/form/div[1]/div[2]"));
String date = ((JavascriptExecutor) driver).executeScript("return arguments[0].textContent;", currTime).toString();
log.info("Time displayed is: " + date);
我得到的唯一结果是“显示的时间是:”和空白......
这是 HTML 的一部分:
<p-calendar _ngcontent-c75="" appendto="body" class="calendar-field time-field ng-tns-c28-14 ui-inputwrapper-filled ng-untouched ng-pristine ng-valid" formcontrolname="start_time" hourformat="12" placeholder="Enter time">
<span class="ng-tns-c28-14 calendar-field-container ui-calendar ui-calendar-timeonly">
<!---->
<input autocomplete="off" type="text" class="ng-tns-c28-14 calendar-field-input time-input ui-inputtext ui-widget ui-state-default ui-corner-all ng-star-inserted" placeholder="Enter time"><!---->
<!---->
</span>
</p-calendar>
有人可以帮助我吗?
解决方案
所以尝试类似:
String date = driver.findElement(By.xpath("//input[@placeholder='Enter time']")).getAttribute("value");
这将获取关联输入的值属性
甚至:
String date = driver.findElement(By.xpath("//p-calendar[@placeholder='Enter time']")).getAttribute("innerText");
这种方法将获得整个标签的innerText属性p-calendar
更多信息:
推荐阅读
- vb.net - VS2017中的VB.Net函数重载解决问题
- html - 如何使用 CSS 更改 SVG 的高度宽度?
- java - java Jtable JscrollPane 全屏显示的JTable
- c# - ASP.NET Core MVC 的 BitmapImage 参考
- javascript - 绘制订阅多边形的圆
- jvm - 如何解决:“加载应用程序时退出 JVM”以便在 Anypoint Studio 中运行 Mule 应用程序
- javascript - 如何在 JavaScript 中获取当前 URL 的路径以供 CodeIgniter 使用?
- r - 替换特定字符并除以余数
- python - 如何在python中控制多个进程对文件的访问
- css - 为小屏幕强制相等的行高