当前位置: 首页 > 面试题库 >

使用Selenium和Python列出选择选项值

梁明辉
2023-03-14
问题内容

我有以下HTML代码

<select name="countries" class_id="countries">
    <option value="-1">--SELECT COUNTRY--</option>
    <option value="459">New Zealand</option>
    <option value="100">USA</option>
    <option value="300">UK</option>
</select>

我正在尝试使用Selenium获取选项值的列表(例如459、100等,而不是文本)。

目前,我有以下Python代码

from selenium import webdriver

def country_values(website_url):
    browser = webdriver.Firefox()
    browser.get(website_url)
    html_code=browser.find_elements_by_xpath("//select[@name='countries']")[0].get_attribute("innerHTML")
    return html_code

如您所见,代码返回纯HTML,我正在使用HTMLParser库进行解析。有什么方法可以仅使用Selenium来获取选项值?换句话说,不必解析Selenium的结果吗?


问题答案:

检查一下,这是我做的,然后才知道选择模块做了什么

from selenium import webdriver

browser = webdriver.Firefox()
#code to get you to the page

select_box = browser.find_element_by_name("countries") 
# if your select_box has a name.. why use xpath?..... 
# this step could use either xpath or name, but name is sooo much easier.

options = [x for x in select_box.find_elements_by_tag_name("option")]
# this part is cool, because it searches the elements contained inside of select_box 
# and then adds them to the list options if they have the tag name "options"

for element in options:
    print element.get_attribute("value") 
    # or append to list or whatever you want here

这样的输出

-1
459
100
300


 类似资料:
  • 问题内容: 我想选择,,从多个选择其中有10个选项。我只想选择这三个选项。 HTML代码: selenium键代码: 我尝试使用此代码。使用此代码,我可以选择第一个选项,即“ P0_ENGLISH”。但是,选择第一个选项后,我得到一个错误: 问题答案: 要从 Multi Select 元素中选择多个 选项 ,可以使用 ActionChains 模拟 Control单击* ,如下所示: *

  • 问题内容: 如何使用Selenium WebDriver和Python获取选定的选项: 有人有解决方案吗? 我正在使用它来获取select元素: 是否有类似的东西或类似于“ getFirstSelectedOption”的东西: 然后,我想用类似的方式验证内容: 问题答案: 这很容易处理- 类:

  • 加拿大城市列表中卡尔加里的选择不起作用,按专业语法单击搜索按钮后,它将始终返回搜索结果中的所有城市。这是我的密码: 提前谢谢!

  • 问题内容: 因此,我对如何在Selenium中做到这一点完全感到困惑,并且无法在任何地方找到答案,所以我分享了自己的经验。 我正在尝试选择一个iframe,但没有运气(或者无论如何也不能重复)。HTML看起来像这样: Python代码(使用selenium库)正尝试使用以下方法找到此iframe: 我可以找到的Selenium命令的每种组合都重复失败。偶尔的成功是无法重现的,所以也许是某种竞赛条件

  • 我无法在我的系统上选择Selenium IDE选项: 麦克高塞拉利昂 火狐 52 硒IDE 2.9.1(我知道它很旧,但(通常)它可以工作,我无法更改它! 选择选项具有以下值: 我需要选择值为15的最后一个选项NT* 所有这些命令似乎都不能正常工作: 问题是命令select只选择NT,而不是NT* 可行的方法是: 但是,我没有这个值,所以这个选项是不可能的。我需要用标签选择它。。。 有什么想法吗?

  • 问题内容: 我想从下拉选项中选择一个值。html如下: 我尝试如下: 怎么了 请帮我! 问题答案: 阿德里安Ratnapala是正确的,也是我会选择过,所以你可以尝试以下方法: 要么 要么 您可以使用: 单击此处以获取更多信息。