gpt4 book ai didi

python - 单击下拉菜单项时出现 UnexpectedTagNameException

转载 作者:太空宇宙 更新时间:2023-11-03 19:45:40 25 4
gpt4 key购买 nike

我试图让 Python/Selenium 正确单击下拉菜单并选择“IT”,但我能做的最好的事情就是找到该元素并收到错误消息,指出我无法输入我找到的文本.

基本上,用户会单击该菜单并选择 IT 或键入 IT 并按 Enter 键。

HTML 代码:

<div class="form-group">

<label class="col-md-3 control-label" for="id_tenant_group">Tenant group</label>
<div class="col-md-9">
<select name="tenant_group" nullable="true" class="netbox-select2-api form-control" data-url="/api/tenancy/tenant-groups/" data-filter-for-tenant="group_id" placeholder="None" id="id_tenant_group">
<option value="" selected>---------</option>

<option value="2">IT</option>

<option value="1">OT</option>

</select>



</div>

当我检查该元素时,我可以看到有一个 span 元素触发一个事件,显示另一个 span,最终可以看到我的选项。

我无法通过可见文本进行选择,因为其他菜单也包含相同的“---------”可见文本。

我捕获了一些屏幕截图来说明问题,希望有所帮助。 html code browser inspect

说实话,我真的很迷茫,任何建议将不胜感激。

编辑:我尝试过以下操作:

tenant_g_element = Select(browser.find_element(By.XPATH, '//span[@id="select2-id_tenant_group-container"]'))
tenant_g_element.selectByVisibleText("IT")

但是我遇到了以下错误:

selenium.common.exceptions.UnexpectedTagNameException: Message: Select only works on <select> elements, not on span

最佳答案

你的第一行是错误的。应该是这样的:

tenant_g_element = Select(browser.find_element(By.ID, 'id_tenant_group'))

因为您的属性 id="id_tenant_group"。没有必要使用 By.XPATH...如果您有某种原因需要它,那么您需要查找如何指定 XPATH (请注意//span 将找到 ,而不是例如

25 4 0
Copyright 2021 - 2024 cfsdn All Rights Reserved 蜀ICP备2022000587号
广告合作:1813099741@qq.com 6ren.com