当前位置: 首页 > 知识库问答 >
问题:

Selenium-Python-选择下拉菜单meun选项-无ID或名称

姬高扬
2023-03-14

我试图选择和元素下拉框:

该网页是:

<div class="col-lg-6">
       <select data-bind="options: indicator_type_list,value: indicatorType,optionsCaption: 'Choose...', disable: $root.mode().isReadOnly()">
        <option value="">Choose...</option>
        <option value="Malicious E-mail">Malicious E-mail</option>
        <option value="IP Watchlist">IP Watchlist</option>
        <option value="File Hash Watchlist">File Hash Watchlist</option>
        <option value="Domain Watchlist">Domain Watchlist</option>
        <option value="URL Watchlist">URL Watchlist</option>
        <option value="Malware Artifacts">Malware Artifacts</option>
        <option value="C2">C2</option>
        <option value="Anonymization">Anonymization</option>
        <option value="Exfiltration">Exfiltration</option>
        <option value="Host Characteristics">Host Characteristics</option>
        <option value="Compromised PKI Certificate">Compromised PKI Certificate</option>
        <option value="Login Name">Login Name</option>
        <option value="IMEI Watchlist">IMEI Watchlist</option>
        <option value="IMSI Watchlist">IMSI Watchlist</option>
       </select>
</div>

我尝试过:

Select = Select(browser.find_element_by_xpath("//div[contains(.,'Choose...Malicious E-mailIP WatchlistFile Hash WatchlistDomain WatchlistURL WatchlistMalware ArtifactsC2AnonymizationExfiltrationHost CharacteristicsCompromised PKI CertificateLogin NameIMEI WatchlistIMSI Watchlist')]"))

test = browser.find_element_by_xpath("//option[@value='Malicious E-mail']") 
dropdown = test.find_element_by_xpath('..')
select = Select(browser.dropdown)

然而,我似乎找不到元素来选择下拉列表中的项目。

任何帮助是值得赞赏的!

共有2个答案

敖子安
2023-03-14

您可以使用Select通过为其提供带有select标签的Web元素来使用Select

select = Select(browser.find_element_by_css_selector(".col-lg-6 > select")) #finds the select tag
select.select_by_value("Malicious E-mail")
#or
select.select_by_visible_text("Malicious E-mail")
贝成业
2023-03-14

有多种方法可以找到此选择元素。

这里有一种方法-找到内部有特定< code >选项的< code>select元素:

from selenium.webdriver.support.select import Select

option_value = "Malicious E-mail"

select_element = browser.find_element_by_xpath("//select[option[@value = '%s']]" % option_value)
select = Select(select_element)
select.select_by_value(option_value)
 类似资料:
  • 你好,我正在使用selenium,并且已经成功地设置了id历史的文本字段,但是无法从

  • 我是使用selenium ide的新手。 我已经让我的代码的所有其他部分工作。 但是我目前有一个问题,让它在下拉菜单中选择一个选项。 我为下拉列表和

  • 我想从下面的列表中选择一个使用selenium的选项: 这里 但问题是没有列表可供选择。 在此输入图像说明 我到目前为止的代码: 需要帮助!!

  • 问题内容: 我想知道是否有可能让jQuery 在下拉框中选择,例如第4个项目? 我希望用户单击一个链接,然后让该框更改其值,就像用户通过单击来选择它一样。 问题答案: 怎么样 对于现代版本的jquery,应使用代替

  • 问题内容: 我试图使用AngularJS创建一个链接/级联的下拉列表(选择元素),但是我很难用我的对象属性过滤和更新“ selected”属性。 首次加载页面时,所选项目将被过滤并正确显示在下拉菜单中。更改父级下拉菜单后,子级选择项不会抓住已过滤列表中的第一个项,导致子级下拉项不会更新。 任何见解将不胜感激,请注意,我将父/子/孙子数组分开(而不是在子数组中),因为最终我将从SQL中的单独spoc

  • 问题内容: 我正在一个涉及使用PHP脚本自动填充选择框的网站上工作。一切都很好,除了问题是我用来填充文本框的标题非常长(它们是期刊文章和演示文稿标题)。下拉框延伸到最长元素的宽度,该元素延伸超出屏幕边缘,因此使滚动条无法触及。我尝试了多种尝试使用CSS手动将下拉框设置为特定宽度的方法,但到目前为止都无济于事。我最好地完成了将“选择”框设置为特定宽度的操作,但是下拉菜单本身的宽度要大得多。 任何对此