【发布时间】:2021-08-31 04:54:54
【问题描述】:
我只是 selenium 的初学者,需要从带有 html 标签的下拉菜单中获取元素:
<div class="dropdown dropdown-block dropdown--saved-search open">
<a id="dropdown1" class="form-control form-control-lg select-control" data-toggle="dropdown" role="button">
<span id="selectedSavedSearchName" data-bind="text: SelectedSavedSearchName">Saved Searches</span>
</a>
<ul class="dropdown-menu dropdown-menu-block" aria-labelledby="dropdown1" id="SavedSearchListItems" data-bind="foreach: SavedSearches">
<li class="dropdown-menu_item" data-bind="click: $root.SavedSearchSelected.bind($parent, $data)">
<span class="RedirectUrl" style="display:none" data-bind="text: SearchUrl">url=twlTCq14LI9OyNaWz8gyGLys61rYhnwWjChZSjB5HlY%3d</span>
<a class="SavedSearchName" data-bind="text: SaveSearchName">avalon</a>
<button class="btn btn-icon-only btn--delete js_btnDeleteSavedSearch" data-bind="click: $root.OpenConfirmationPopupForDeleteSearch.bind($root, $parent)">
<span class="icon">
<svg viewBox="0 0 48 48" xmlns="http://www.w3.org/2000/svg"><path d="M7.667 42.667C7.667 45.6 10.067 48 13 48h21.333c2.934 0 5.334-2.4 5.334-5.333v-32h-32v32zm34.666-40H33L30.333 0H17l-2.667 2.667H5V8h37.333V2.667z" fill-rule="nonzero"></path></svg>
</span>
</button>
</li>
<li class="dropdown-menu_item" data-bind="click: $root.SavedSearchSelected.bind($parent, $data)">
<span class="RedirectUrl" style="display:none" data-bind="text: SearchUrl">url=QiCRRma69RVV8rZtQS3D4d3R%2fwHJwgFlAoBPVUw%2fbZI%3d</span>
<a class="SavedSearchName" data-bind="text: SaveSearchName">buy now</a>
<button class="btn btn-icon-only btn--delete js_btnDeleteSavedSearch" data-bind="click: $root.OpenConfirmationPopupForDeleteSearch.bind($root, $parent)">
<span class="icon">
<svg viewBox="0 0 48 48" xmlns="http://www.w3.org/2000/svg"><path d="M7.667 42.667C7.667 45.6 10.067 48 13 48h21.333c2.934 0 5.334-2.4 5.334-5.333v-32h-32v32zm34.666-40H33L30.333 0H17l-2.667 2.667H5V8h37.333V2.667z" fill-rule="nonzero"></path></svg>
</span>
</button>
</li>
<li class="dropdown-menu_item" data-bind="click: $root.SavedSearchSelected.bind($parent, $data)">
<span class="RedirectUrl" style="display:none" data-bind="text: SearchUrl">url=u14wnnlX4CFa8PPr%2bR9gxXbSGLj98QMWI4AjLKYEdU4%3d</span>
<a class="SavedSearchName" data-bind="text: SaveSearchName">highlander</a>
<button class="btn btn-icon-only btn--delete js_btnDeleteSavedSearch" data-bind="click: $root.OpenConfirmationPopupForDeleteSearch.bind($root, $parent)">
<span class="icon">
<svg viewBox="0 0 48 48" xmlns="http://www.w3.org/2000/svg"><path d="M7.667 42.667C7.667 45.6 10.067 48 13 48h21.333c2.934 0 5.334-2.4 5.334-5.333v-32h-32v32zm34.666-40H33L30.333 0H17l-2.667 2.667H5V8h37.333V2.667z" fill-rule="nonzero"></path></svg>
</span>
</button>
</li>
<li class="dropdown-menu_item" data-bind="click: $root.SavedSearchSelected.bind($parent, $data)">
<span class="RedirectUrl" style="display:none" data-bind="text: SearchUrl">url=S7d%2fikaBedxE9VnjjWxxpLnB%2bvNtgY%2blIW0Xr9X5a3s%3d</span>
<a class="SavedSearchName" data-bind="text: SaveSearchName">kamry</a>
<button class="btn btn-icon-only btn--delete js_btnDeleteSavedSearch" data-bind="click: $root.OpenConfirmationPopupForDeleteSearch.bind($root, $parent)">
<span class="icon">
<svg viewBox="0 0 48 48" xmlns="http://www.w3.org/2000/svg"><path d="M7.667 42.667C7.667 45.6 10.067 48 13 48h21.333c2.934 0 5.334-2.4 5.334-5.333v-32h-32v32zm34.666-40H33L30.333 0H17l-2.667 2.667H5V8h37.333V2.667z" fill-rule="nonzero"></path></svg>
</span>
</button>
</li>
<li class="dropdown-menu_item" data-bind="click: $root.SavedSearchSelected.bind($parent, $data)">
<span class="RedirectUrl" style="display:none" data-bind="text: SearchUrl">url=AOgkSqNgd5UXBdn4NutgXpaFLe%2f%2f2lCxnw8%2fYC7E63Y%3d</span>
<a class="SavedSearchName" data-bind="text: SaveSearchName">parser</a>
<button class="btn btn-icon-only btn--delete js_btnDeleteSavedSearch" data-bind="click: $root.OpenConfirmationPopupForDeleteSearch.bind($root, $parent)">
<span class="icon">
<svg viewBox="0 0 48 48" xmlns="http://www.w3.org/2000/svg"><path d="M7.667 42.667C7.667 45.6 10.067 48 13 48h21.333c2.934 0 5.334-2.4 5.334-5.333v-32h-32v32zm34.666-40H33L30.333 0H17l-2.667 2.667H5V8h37.333V2.667z" fill-rule="nonzero"></path></svg>
</span>
</button>
</li>
<li class="dropdown-menu_item" data-bind="click: $root.SavedSearchSelected.bind($parent, $data)">
<span class="RedirectUrl" style="display:none" data-bind="text: SearchUrl">url=l%2b8avDt52v0eO3kj4dCWdUk97FlMGwWqR6TKmhqxQiY%3d</span>
<a class="SavedSearchName" data-bind="text: SaveSearchName">toyot</a>
<button class="btn btn-icon-only btn--delete js_btnDeleteSavedSearch" data-bind="click: $root.OpenConfirmationPopupForDeleteSearch.bind($root, $parent)">
<span class="icon">
<svg viewBox="0 0 48 48" xmlns="http://www.w3.org/2000/svg"><path d="M7.667 42.667C7.667 45.6 10.067 48 13 48h21.333c2.934 0 5.334-2.4 5.334-5.333v-32h-32v32zm34.666-40H33L30.333 0H17l-2.667 2.667H5V8h37.333V2.667z" fill-rule="nonzero"></path></svg>
</span>
</button>
</li>
</ul>
</div>
但我尝试通过 xpath 找到它,但没有结果。我需要单击它,然后从下拉列表中选择名称为“parser”的选项。谁能帮忙,我做错了什么?我正在使用 python 和 chromedriver screenshot of dropdown menu
【问题讨论】:
-
你能分享一个指向那个页面的链接吗?
-
当然可以,可惜没有授权你不会得到这个菜单iaai.com/Vehiclelisting/Automobiles
-
我看到了网页。那里有什么下拉菜单?什么场景,流程?
-
编辑帖子,添加html代码
标签: python selenium parsing selenium-chromedriver html-parsing