【发布时间】:2021-08-03 18:49:00
【问题描述】:
正如标题所暗示的那样,我目前正面临一些试图解决这个问题的问题,问题是我有一个水平弹性容器,它显示 Qtrs/Years 以便为如您将在底部 sn-p 中看到的 Package Rotation 有 3 种类型的“状态/类别”我必须考虑,因为某些季度/年份可以设置为“无效”,这意味着我不应该考虑它们用于选择本身,让我实际上必须首先搜索有效的季度(class="quarter valid 和 class="quarter valid选择了,后一个是我目前选择的那个duh')
然后在实际只获得有效的选项之后,我需要能够创建一个 XPATH,它允许我遍历这些选项并能够使用索引或最好通过文本选择它们(例如:QuarterNumber = '3Q' 和年 = "2021")
该部分的 html/dom 基本上是这样的:
<div class="quartersContainer"</div>
<div class="quarter">
<div class="quarterNumber">1Q</div>
<div class="year">2021</div>
<div class="releasedIndicator"></div>
<div class="quarterbar-editing-mode"></div>
</div>
<div class="quarter">
<div class="quarterNumber">2Q</div>
<div class="year">2021</div>
<div class="releasedIndicator"></div>
<div class="quarterbar-editing-mode"></div>
</div>
<div class="quarter valid selected">
<div class="quarterNumber">3Q</div>
<div class="year">2021</div>
<div class="releasedIndicator"></div>
<div class="quarterbar-editing-mode"></div>
</div>
<div class="quarter valid">
<div class="quarterNumber">4Q</div>
<div class="year">2021</div>
<div class="releasedIndicator"></div>
<div class="quarterbar-editing-mode"></div>
</div>
<div class="quarter">
<div class="quarterNumber">1Q</div>
<div class="year">2022</div>
<div class="releasedIndicator"></div>
<div class="quarterbar-editing-mode"></div>
</div>
到目前为止,我所拥有的只是这个....(我对此真的很陌生:()
//div[包含(@class,'quarter valid') and .//@class='quarterNumber' and .//@class='year']
这样做的重点是实际生成一个 XPATH,该 XPATH 可以在未来或通过例如行为特征文件进行操作,因此测试人员只需要实际更改 2Q 之类的 text - 2021 到 3Q - 2023,它会找到它。
任何建议或指导将不胜感激:')
【问题讨论】:
-
您可以将变量组合到 xpath 中:"//div[contains(@class,'quarter valid') and .//@class='" + quarterNumber + "' and .//@ class='年份']"
-
@DMart 感谢您的回答,不过我目前缺少实际为其分配“可自定义”文本的部分,因此我实际上可以将其用于功能文件:(
-
它是一个变量。随心所欲地分配它的价值。除非我误解了你的实际要求......
-
@DMart,没关系,你是绝对正确的,哈哈,我在那个方面做得不好,谢谢!!!
标签: python selenium xpath automation bdd