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

如何通过selenium和Python从下拉菜单中选择元素?

司徒浩思
2023-03-14

我正在尝试通过selenium驱动程序和Python来玩autologin测试。我正在使用这个站点https://invoiceaccess.pgiconnect.com/我做了什么:


    from selenium import webdriver
    driver = webdriver.Chrome()

    driver.get("https://invoiceaccess.pgiconnect.com")
    driver.find_element_by_id("LoginId").send_keys("test-account")
    driver.find_element_by_id("LoginPassword").send_keys("test-password")
    #driver.find_element_by_id("submit").click()


    <select class="regiondropdown" data-val="true" data-val-required="Please Select Region" id="Region" name="Region"><option value="">Select Region</option>
    <option value="us">America</option>
    <option value="europe">Europe</option>
    <option value="apac">APAC</option>
    </select>


    element = driver.find_element_by_xpath("//select[@name='Region']")
    all_options = element.find_elements_by_tag_name("option")
    for option in all_options:
        print("Value is: %s" % option.get_attribute("US"))
        option.click()

例如,我需要选择america,但它选择了apac。在我犯错的地方,谁能帮帮我?

共有1个答案

蔡鸿骞
2023-03-14

要检索具有us值的select元素的特定选项,可以使用selectselenium类执行如下操作:

from selenium.webdriver.support.ui import Select

option = Select(
    driver.find_element_by_xpath("//select[@name='Region']")
).select_by_value("us")
print(option.text) # Should print 'America'
selec = driver.find_element_by_xpath("//select[@name='Region']")
option = selec.find_element_by_css_selector("option[value=\"us\"]")
print(option.text) # Should print 'America'
 类似资料:
  • 我想从下面的列表中选择一个使用selenium的选项: 这里 但问题是没有列表可供选择。 在此输入图像说明 我到目前为止的代码: 需要帮助!!

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

  • 问题内容: 我需要从下拉菜单中选择一个元素。 例如: 1)首先,我必须单击它。我这样做: 2)之后,我必须选择一个好的元素,让我们说Mango。 我试图这样做,但是没有用。 问题答案: 除非你的点击触发了某种Ajax调用来填充列表,否则你实际上不需要执行该点击。 只需找到元素,然后枚举选项,然后选择所需的选项即可。 这是一个例子:

  • 你好,我正在使用selenium,并且已经成功地设置了id历史的文本字段,但是无法从

  • 根据前面关于SO的问题,比如这个问题(selenium-python-drol-down menu选项值),我首先尝试了使用Selenium进行下拉菜单操作的基本方法,即以以下方式使用其方法: 当选择“按值”时,我得到一个错误。因此,我尝试使用So上提供的其他解决方案进行一些故障排除(参见此处:使用selenium python从下拉选项中选择一个值),例如通过元素的XPath找到它,然后单击它。

  • 我正在编写一个python脚本,它将调用一个网页,并从下拉列表中选择一个选项来下载该文件。为了完成这个任务,我使用chropath。它是一个浏览器扩展,可以为您提供网页上任何按钮或字段的相对xpath或id,我们可以使用它从python脚本调用它。 上图显示了下拉菜单,其中我必须选择作为年份并下载文件。在图像的下部,您可以看到我使用了来获取下拉菜单的相对xpath,即 下面是我使用的代码: 从上面