使用硒和砂纸从动态值列表中选择值



我正在尝试刮擦显示值列表的网站。我需要选择一个值和刮擦,然后选择另一个选择。我只是无法执行此操作,保存页面后,我看到了以下值列表的代码:

<div class="dropdown-component spacing-left spacing-top">
<!-- ko component: { name: "dropdown-component", params: { value: categoryDropdown } } --><div class="btn-group" data-bind="attr: { &#39;data-id&#39;: id }" data-id="dropdown-component-118db170-aa45-43ac-94ee-8d78c72bda58">
    <button type="button" class="dropdown-toggle dropdown-component clear" data-toggle="dropdown" aria-haspopup="true" aria-expanded="false" data-bind="event: { keydown: onKeyDown }">
        <div class="table-dropdown">
            <div class="text">
                <span data-bind="i18n: labelKey, visible: labelKey">Category</span>
                <span data-bind="text: seperator, visible: seperator &amp;&amp; selectedOptionHasText()">:</span>
                <!-- ko if: selectedText() -->
                <span data-bind="text: selectedText">All</span>
                <!-- /ko -->
                <!-- ko if: selectedTextKey() --><!-- /ko -->
            </div>
            <div class="icon caret"></div>
        </div>
    </button>
    <ul class="dropdown-menu scrollable-dropdown" data-bind="foreach: options, css: css">
        <li data-bind="css: { highlighted: !isCategory &amp;&amp; id === $parent.highlightedOption() }, event: { mouseenter: $parent.onMouseEnter, mouseout: $parent.onMouseOut }" class="">
            <!-- ko if: isNoType -->
            <a data-bind="text: text, click: $parent.action.bind($index), i18n: textKey, &#39;i18n-options&#39;: textKeyReplacements">All</a>
            <!-- /ko -->
            <!-- ko if: isCategory --><!-- /ko -->
            <!-- ko if: isCategoryItem --><!-- /ko -->
        </li>
        <li data-bind="css: { highlighted: !isCategory &amp;&amp; id === $parent.highlightedOption() }, event: { mouseenter: $parent.onMouseEnter, mouseout: $parent.onMouseOut }" class="">
            <!-- ko if: isNoType -->
            <a data-bind="text: text, click: $parent.action.bind($index), i18n: textKey, &#39;i18n-options&#39;: textKeyReplacements">Not Classified</a>
            <!-- /ko -->
            <!-- ko if: isCategory --><!-- /ko -->
            <!-- ko if: isCategoryItem --><!-- /ko -->
        </li>

它表明LOV具有为其分配的动态ID。有什么想法如何从此LOV中选择值?它具有诸如" all","未分类"等的值。

我能够通过以下

解决此问题
driver.find_element_by_xpath("//span[contains(.,'Category')]").click()
driver.execute(driver.find_element_by_xpath("//a[contains(text(),'Not Classofied')]").click())

这解决了我的问题,但是我在python中收到一个错误,为:" keyError:none"。

我不确定为什么会出现这个错误,但是随着时间的流逝,我被一个try-except块忽略了。

在CSS中,您会得到:

.dropdown-menu.scrollable-dropdown li a

相关内容

  • 没有找到相关文章