(python) (selenium) 消息:没有这样的元素:无法定位元素:

时间:2021-05-24 07:26:23

标签: python selenium

我想使用 selenium 来单击文本框,但出现错误。 这是一个日期选择器,当我点击这个文本框时,应该会出现弹出日历。

我使用了这个代码。

driver.find_element_by_xpath("""//*[@id="startDt"]""").click()

html code

2 个答案:

答案 0 :(得分:1)

而不是这个:

driver.find_element_by_xpath("""//*[@id="startDt"]""").click()

使用这个:

driver.find_element_by_id("startDt").click()

除了检查Iframe,如果元素在框架内,首先切换到框架,然后你可以与输入标签进行交互

答案 1 :(得分:0)

1)转到您的浏览器 -> 手动打开应用程序

2)打开检查器窗口(即按键盘上的功能键 f12)

3)转到控制台选项卡,输入如下内容并点击回车:

$x("//*[@id='startDt']");

4)如果在控制台中标识了元素并且计数为 1,那么您的定位器是正确的,但在 Selenium 中您会得到 NoSuchElementException, 那么您尝试定位的元素很有可能在 Iframe 内。如果是这样,找出Iframe并切换到它,然后尝试调用findElement方法,它应该可以工作。

5)如果该元素未在控制台中标识,那么您使用的 xpath 的元素不存在/您的 xpath 是错误的。

您可以参考 [link][1] 了解有关评估和验证您的 xpath 过程的更多信息

[1]: https://yizeng.me/2014/03/23/evaluate-and-validate-xpath-css-selectors-in-chrome-developer-tools/#:~:text=From%20Console%20panel,%22)%20to%20evaluate%20and%20validate。