访问网页中的列表框时出现 NoSuchElementException

Posted

技术标签:

【中文标题】访问网页中的列表框时出现 NoSuchElementException【英文标题】:NoSuchElementException while accessing a list box in a web page 【发布时间】:2017-03-03 19:23:40 【问题描述】:

我正在通过 Python 使用 selenium。我正在尝试访问网页中的列表框,但出现以下错误。

selenium.common.exceptions.NoSuchElementException: 
Message: Unable to locate element: "method":"name","selector":"s_2_1_0_0"

下面给出了我试图访问的列表框的 html 标记:

<select id="s_2_1_0_0" name="s_2_1_0_0" style="width:175px" 
onchange="chkQuickStartType(this)" id="s_2_1_0_0" tabindex="1997">

我已经使用了如下所示的名称和 ID,但仍然出现上述错误。

select1 = Select(ide.find_element_by_name("s_2_1_0_0"))
select1 = Select(ide.find_element_by_id("s_2_1_0_0"))
select1.select_by_value("Track a fault")

【问题讨论】:

下面给出了我试图访问的列表框的 HTML 标签: 为什么 这个元素是否在 iframe 中?您需要先切换到该 iframe。 【参考方案1】:

selenium.common.exceptions.NoSuchElementException: 消息:无法定位元素:"method":"name","selector":"s_2_1_0_0"

我认为name/iddesire 元素的属性值不固定,这就是你无法定位的原因。

您也应该尝试使用不同的定位器来定位相同的元素。我建议您尝试使用find_element_by_css_selector(),如下所示:-

select1 = Select(ide.find_element_by_css_selector("select[onchange*='chkQuickStartType']"))

【讨论】:

以上是关于访问网页中的列表框时出现 NoSuchElementException的主要内容,如果未能解决你的问题,请参考以下文章

访问网页时出现“403-Forbidden”代表啥意思?

将子窗体链接到主窗体上的组合框时出现问题

插入文件时出现 Azure Data Lake 错误:访问控制列表值无效

使用 httr get 时出现错误 401

如果工作表包含下拉列表,则在访问中导入 Excel 数据时出现问题

比较熊猫数据框列中的值时出现类型错误