【问题标题】:Cannot find element by name无法按名称找到元素
【发布时间】:2019-04-22 21:44:43
【问题描述】:

代码:

我想改变这个文本框的值,但我做不到。 这是我的代码:

driver.find_element_by_name("inps_19_1").send_keys("value", "my value"),不工作,

driver.find_element_by_css_selector("input[name='inps_19_1']").send_keys("whatever") 不工作。

有什么建议吗?

【问题讨论】:

  • 欢迎来到 Stack Overflow!图片和屏幕截图可以很好地添加到帖子中,但请确保帖子在没有它们的情况下仍然清晰且有用。 不要发布代码或错误消息的图像。阅读why。而是直接将实际代码/消息复制并粘贴或键入到帖子中。

标签: python python-3.x selenium selenium-webdriver


【解决方案1】:

我看不到完整的 HTML,但我多次遇到的一个问题是元素包含 iframe 或 shadowroot,您必须在驱动程序找到它之前切换到这些元素。 iframe 很容易切换到

driver.switch_to_frame("frameName")

然后就可以找到后面的元素了。

如果元素包含在 shadowroot 中,此答案显示如何扩展它们 https://stackoverflow.com/a/37253205/10007528

【讨论】:

    猜你喜欢
    • 1970-01-01
    • 1970-01-01
    • 2021-06-23
    • 2021-06-28
    • 1970-01-01
    • 2013-01-21
    • 2020-03-05
    • 1970-01-01
    相关资源
    最近更新 更多