【问题标题】:How to insert a text into a div node using Selenium and Python如何使用 Selenium 和 Python 将文本插入 div 节点
【发布时间】:2019-03-14 07:46:07
【问题描述】:

我想使用 selenium 将文本放入 div() 中。我使用 python 并将 javascript 插入到我的代码中。这是我的代码:

js="document.getElementsByClassName(\"inputPanel\")[0].innerText=\"hello!\";"

但它提醒我有一个错误:

selenium.common.exceptions.WebDriverException: Message: unknown error: Cannot set property 'innerText' of undefined

我该如何解决这个问题?如果您能提供帮助,我将不胜感激!

【问题讨论】:

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


【解决方案1】:

要将字符序列插入<div> 节点,您可以使用以下解决方案:

my_desired_text = "lzylzylzy"
driver.execute_script("document.getElementsByClassName('inputPanel')[0].innerHTML="+ my_desired_text)

【讨论】:

  • 但我仍然收到此警告@DebanjanB
  • 它说我想要的文本没有定义,我想知道你是否可以进一步帮助我。谢谢@DebanjanB
  • @Izy my_desired_text 是一个变量,您可以将其分配给任何文本。我已经更新了我的答案。如果您需要进一步的帮助,请告诉我。
  • 感谢您的进一步帮助!是的,我知道你的意思,我之前用字符串替换了 my_desired_text。我也用你的答案替换了我的代码。但它仍然像这样警告我:selenium.common.exceptions.WebDriverException:消息:未知错误:lzylzylzy 不是定义。我想也许这不是语法错误。@DebanjanB
  • 我只知道我们平时都是用来上传字符串的,但是这次我发现
    是可编辑的。我想上传一个字符串进去。网页源代码是这样的:
    。你能给我一些解决这个问题的建议吗?@DebanjanB
【解决方案2】:

删除.放在inputPanel之前,也没有[

的结束标签

预期的代码将是

document.getElementsByClassName(\"inputPanel\")[0].innerText=\"hello!\";"

【讨论】:

    猜你喜欢
    • 2021-03-05
    • 1970-01-01
    • 2020-10-08
    • 2013-05-15
    • 1970-01-01
    • 2021-02-26
    • 1970-01-01
    • 1970-01-01
    相关资源
    最近更新 更多