我有一个下拉菜单,需要根据其值选择一个项目。 假设我要选择值“50.0”
表格的完整HTML位于文章末尾: 下面的代码可以基于ID工作(但问题是每次我重新加载页面时,ID都会更改,因此我必须在代码中更新它)
width = browser.find_element_by_css_selector("#linemodechannelwidth > tbody > tr > td.dijitReset.dijitStretch.dijitButtonContents > div.dijitReset.dijitInputField.dijitButtonText > span")
actions3 = ActionChains(browser)
actions3.click(width).perform()
time.sleep(4)
spacing50 = browser.find_element_by_css_selector('#dijit_MenuItem_27_text')
spacing50.click()
根据值而不是ID从下拉框中选择值50.0的代码应该是什么
以下是此下拉菜单的HTML:
<table class="dijit dijitReset dijitMenuTable dijitSelectMenu dijitValidationTextBoxMenu dijitMenu dijitMenuPassive" role="listbox" tabindex="0" cellspacing="0" id="linemodechannelwidth_menu" widgetid="linemodechannelwidth_menu" style="top: 0px; visibility: visible;" aria-labelledby="linemodechannelwidth">
<tbody class="dijitReset" data-dojo-attach-point="containerNode"><tr class="dijitReset dijitMenuItem" data-dojo-attach-point="focusNode" role="option" tabindex="-1" id="dijit_MenuItem_27" aria-label="50.0 " aria-disabled="false" widgetid="dijit_MenuItem_27" aria-selected="false" style="user-select: none;">
<td class="dijitReset dijitMenuItemIconCell" role="presentation">
<span role="presentation" class="dijitInline dijitIcon dijitMenuItemIcon dijitNoIcon" data-dojo-attach-point="iconNode"></span>
</td>
<td class="dijitReset dijitMenuItemLabel" colspan="2" data-dojo-attach-point="containerNode,textDirNode" role="presentation" id="dijit_MenuItem_27_text">50.0</td>
<td class="dijitReset dijitMenuItemAccelKey" style="display: none" data-dojo-attach-point="accelKeyNode" id="dijit_MenuItem_27_accel"></td>
<td class="dijitReset dijitMenuArrowCell" role="presentation">
<span data-dojo-attach-point="arrowWrapper" style="visibility: hidden">
<span class="dijitInline dijitIcon dijitMenuExpand"></span>
<span class="dijitMenuExpandA11y">+</span>
</span>
</td>
37.5
+
62.5
+
75
+
87.5
+
例如:假设下拉列表的id为“12345”
还有:
首先捕获selenium中的选项: =>options\u list=newselect(driver.findElement(By.id(“1234”))强>
如果您想通过可见下拉项进行选择:(让我们说“A”) =>选项列表。选择ByVisibleText(“A”)
如果您想通过下拉列表编号选择项目(比如第二个项目) =>选项列表。选择索引(1)
相关问题 更多 >
编程相关推荐