我确实有以下页面来源:
1. <li_ngcontent-shv-c123 mat-menu-item role="presentation" class="mat-focus-indicator dropdown-item mat-menu-item ng-star-inserted" tabindex="0" aria-disabled="false">
2. <mat-checkbox_ngcontent-shv-c123 class= "mat-checkbox example-margin mat-accent _mat-animation-noopable" id="53oo32be-6855-4yt4-965d-y71078b642">
3. <label class="mat-checkbox-layout" for="53oo32be-6855-4yt4-965d-y71078b642-input">
4. <div class="mat-checkbox-inner-container">.
5. <input type="checkbox" class="mat-checkbox-input cdk-visually-hidden" id="53oo32be-6855-4yt4-965d-y71078b642-input" tabindex="0" value="53oo32be-6855-4yt4-965d-y71078b642" name="Item List" aria-checked="true">
6. <div matripple="" class="mat-ripple mat-checkbox-ripple mat-focus-indicator">
7. <div class="mat-ripple-element mat-checkbox-persistent-ripple">
8. </div>
9. </div>
10. <div class="mat-checkbox-frame">
11. </div>
12. <div class="mat-checkbox-background">
13. <svg version="1.1" focusable="false" viewBox="0 0 31 31" xml:space="preserve" class="mat-checkbox-checkmark">
14. <path fill="none" stroke="white" d="M2.1,89.5 9,78.6 3.3,77.1" class="mat-checkbox-checkmark-path">
15. </Path>
16. </svg><div class="mat-checkbox-mixedmark">
17. </div>
18. </div>
19. </div>
20. <span class="mat-checkbox-label">
21. <span style="display none;"> </span>XYZ Element</span>
22. </label>
23. </mat-checkbox><div matripple="" class="mat-ripple mat-menu-ripple">
24. </div>
25. </li>
在该项目列表中,(第5行)是一个下拉列表,具有有限数量的带有复选框的元素。 我需要检查的是下拉列表中的元素XYZ element(第21行),并且仅当复选框未选中时才选中复选框
如果已选中该复选框,则保留该复选框
我尝试了以下代码:
test= "//span[contains(text(),'XYZ Element')]"
try:
driver.finde_element_by_xpath(test).is_selected()
pass
except:
driver.find_element_by_xpath(test).click()
上面的代码没有产生所需的结果
有没有其他方法可以做到这一点
提前谢谢
使用
find_elements
查看列表中是否有任何内容,如果有,您可以单击或检查单击,如下所示:代码:
更新1:
要使
xyz element
变为变量:相关问题 更多 >
编程相关推荐