访问网页中的列表框时出现 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/id
desire 元素的属性值不固定,这就是你无法定位的原因。
您也应该尝试使用不同的定位器来定位相同的元素。我建议您尝试使用find_element_by_css_selector()
,如下所示:-
select1 = Select(ide.find_element_by_css_selector("select[onchange*='chkQuickStartType']"))
【讨论】:
以上是关于访问网页中的列表框时出现 NoSuchElementException的主要内容,如果未能解决你的问题,请参考以下文章
插入文件时出现 Azure Data Lake 错误:访问控制列表值无效