[英]Select dropdown in Selenium Python
我不能 select 值在列表中。 我嘗試使用find_element_by_class_name()
打開菜單,但是當我需要 select a <li>
返回該元素沒有 function click()
。
這里的代碼:
click_menu = driver.find_element_by_class_name("periodSelector")
click_menu[1].click()
這是我要解析的 HTML:
<div data-period-selector="" data-period="periodFilter">
<div class="periodSelectorContainer">
<div class="btn-group periodSelector">
<button class="flat-btn dropdown-toggle periodToggle ng-binding" data-toggle="dropdown"> 20/02/2021 - 22/03/2021 <span class="dropdown-arrow"></span> </button>
<ul class="dropdown-menu">
<li>
<a href="javascript:void(0);" class="new-financ" ng-click="selectToday()"><i></i>
<span class="pull-left">Hoje</span>
<span class="pull-right"></span>
</a>
</li>
<li>
<a href="javascript:void(0);" class="new-financ" ng-click="selectThisWeek()"><i>
</li>
有多個 class 名稱,您必須使用 css 選擇器。
click_menu = driver.find_element_by_css_selector("button.flat-btn.dropdown-toggle.periodToggle.ng-binding")
click_menu.click()
點擊第一個 li 標簽。
driver.find_element_by_xpath("ul[@class='dropdown-menu']/li[1]").click()
periodSelector
是 DIV 上的 class
<div class="btn-group periodSelector">
我假設您需要單擊 BUTTON
<button class="flat-btn dropdown-toggle periodToggle ng-binding" data-toggle="dropdown">
這些類中的大多數看起來都是通用的(可能不是唯一的),但我猜想periodToggle
在給定日期范圍的情況下可能是唯一的。 嘗試
driver.find_element_by_css_selector("button.periodToggle").click()
注意:您的代碼中有錯誤。 您正在使用.find_element_by_class_name()
(單數),但在下一行click_menu[1]
上有數組表示法。 在這種情況下,您可以只使用click_menu.click()
。 如果您使用.find_elements_by_*()
(注意復數,元素),則只需要數組表示法。
聲明:本站的技術帖子網頁,遵循CC BY-SA 4.0協議,如果您需要轉載,請注明本站網址或者原文地址。任何問題請咨詢:yoyou2525@163.com.