我正在尝试自动执行一些任务,如下载文件和预处理它们。要下载其中一个文件,我需要指定日期(由于隐私问题,我不能共享网站),但我无法在Dec-2022和Jan-2023之间进行选择,如下所示:
下面是HTML代码:
<button type="button" ng-click="clickDrop($event)" ng-show="showButton()" data-wt="toggle">
<span class="ng-binding">Current Month</span>
<span ng-hide="dropOpen" class="caret ng-hide"></span>
<span ng-show="dropOpen" class="dropup"><span class="caret"></span></span>
</button>
<div class="rpt-dext-select-dropdown-options" data-wt="dropdown" ng-show="isEditable()">
<div ng-repeat="option in options|filter:{label:searchFilter}" ng-click="selectOption(option,$event)" class="rpt-dext-select-dropdown-checkable ng-scope" data-wt="202301"> <span ng-class="{'rpt-dext-select-dropdown-checked':selections.includes(option)}" class="ng-binding">Jan 2023</span>
<span class="fas fa-check check-mark ng-hide" ng-show="selections.includes(option)"></span>
</div>
<div ng-repeat="option in options|filter:{label:searchFilter}" ng-click="selectOption(option,$event)" class="rpt-dext-select-dropdown-checkable ng-scope" data-wt="202212"> <span ng-class="{'rpt-dext-select-dropdown-checked':selections.includes(option)}" class="ng-binding">Dec 2022</span>
<span class="fas fa-check check-mark ng-hide" ng-show="selections.includes(option)"></span>
</div>
我可以打开菜单:
WebDriverWait(driver, 20).until(EC.element_to_be_clickable((By.CSS_SELECTOR, '.ng-isolate-scope:nth-child(3) .ng-isolate-scope~ .ng-isolate-scope button .ng-binding'))).click()
但是不能使用click()
进行选择,我认为select()不起作用。
1条答案
按热度按时间enyaitl31#
使用以下代码行打开菜单后:
要单击某个选项,您需要为element_to_be_clickable()引入WebDriverWait,您可以使用以下locator strategies: