有谁能帮我解决以下问题:我必须从下拉元素中提取- Open作为标题的一部分(如下面的屏幕截图所示)

由于值在时间段内将发生变化,因此使用该值是无用的,因此必须选择具有“打开”状态的状态(未显示,但其他状态为:Frozen & Closed),因此,下面是我尝试过的:
//*[@id="period"]/contains(@text, '')因为上面我得到的测试结果是真。(据我理解,它确实存在文本),但是当添加想要的文本时
//*[@id="period"]/contains(@text, 'Open')因此,我得到了假,并且找不到元素。此外,在下列情况下搜索时:
//*[@id="period"]我得到了结果(所有的句点都显示了)。
01. Oct 2018 - 31. Oct 2018 - Open01. Sep 2018 - 30. Sep 2018 - Open01. Aug 2018 and so on ...HTML如下:
<main class="main row">
<div class="content clearfix column medium-8">
<div class="row">
<article class="column medium-12">
<div class="t-box">
<p></p><div class="compete">
<a class="button primary" href="« Back to overview</a>
<div class="promotion">
<h2 class="promotion-header"><img src="/assets/images/system/stats/language/EN.png.pagespeed.ce.nTcGwJ7dzC.png">Top of the month</h2>
<form class="row" method="GET" action="/compete">
<input type="hidden" name="id" value="3">
<div class="column large-2">
<label for="period"><strong> <br>Period:</strong></label>
</div>
<div class="column large-8">
<select id="period" name="period">
<option value="39">01. Oct 2018 - 31. Oct 2018 - Open</option><option value="38">01. Sep 2018 - 30. Sep 2018 - Open</option><option value="37">01. Aug 2018 - 31. Aug 2018 - Open</option><option value="36">01. Jul 2018 - 31. Jul 2018 - Open</option><option value="35">01. Jun 2018 - 30. Jun 2018 - Open</option><option value="34">01. May 2018 - 31. May 2018 - Open</option><option value="33">01. 我做错了什么,请协助。
发布于 2017-11-14 09:10:07
要打印将Open作为标题一部分的所有月份,可以使用以下代码块:
Select months = new Select(driver.findElement(By.id("period")));
List<WebElement> monthList = months.getOptions();
for(WebElement month:monthList)
if(month.getAttribute("innerHTML").contains("Open"))
System.out.println(month.getAttribute("innerHTML"));https://stackoverflow.com/questions/47281195
复制相似问题