【发布时间】:2020-05-09 10:32:50
【问题描述】:
我需要使用 Python 和 Selenium 从没有 id 元素的下拉菜单中选择一个元素/项目。
一段 HTML 代码:
<mbo-transaction-mode-select mode="filters.mode" class="ng-isolate-scope">
<select class="form-control input-sm ng-pristine ng-untouched ng-valid ng-empty" ng-model="mode" ng-options="value for (key,value) in vm.modes">
<option value="" class="" selected="selected"></option>
<option label="LIVE" value="string:LIVE">LIVE</option>
<option label="TEST" value="string:TEST">TEST</option>
</select>
我在 Stackoverflow 或 Google 上找到的当前选项使用了 Select 方法,但该选项使用了我很遗憾没有的 find_element_by_id。 我尝试使用:
select = Select(browser.find_element_by_xpath("//input[@ng-model='mode']"))
select.select_by_visible_text('LIVE')
但这给出了错误:
selenium.common.exceptions.NoSuchElementException:消息:无法定位元素://input[@ng-model='mode']
我还有其他方法可以选择下拉列表及其选项之一吗?
【问题讨论】:
-
你能在开发工具中找到
input[ng-model='mode']吗? -
@Pinaki,这就是我所指的问题,即它使用通过 ID 查找元素,这不是我的选择:(
-
@Sers,我不知道如何使用开发工具。
-
How to search element in Devtools。可以分享一下网址吗?