【问题标题】:pass string with HTML to send_keys in selenium将带有 HTML 的字符串传递给 selenium 中的 send_keys
【发布时间】:2020-05-09 02:22:02
【问题描述】:

当我将字符串传递给包含 HTML 的 send_keys 时遇到问题。这一切都在转变。例如,<tag>abc</tag>def 变为 <tag>c</tagdef>。文本字段由以下内容描述:

<textarea maxlength="4000" id="some-id" rows="3" name="data[a][b]" class="a-form-normal" dir="auto" spellcheck="true"></textarea>

我真的不明白会发生什么以及如何避免它。我通常通过以下方式传递我的 html 字符串: description = '<tag>abc</tag>def' browser.find_element_by_id('some-id).send_keys(description) 这会导致奇怪的变化,如上所述。

相反,我尝试粘贴字符串:

os.system("echo %s| clip" % description.strip())
browser.find_element_by_id('some-id').send_keys(Keys.CONTROL,'v')

然后我收到错误消息:语法错误:重定向意外

我在树莓派上使用 Python 3.7

非常感谢您的帮助

【问题讨论】:

  • 你能添加这个文本正在发送的文本字段的html吗?
  • @Jortega 添加了&lt;textarea maxlength="4000" id="some-id" rows="3" name="data[a][b]" class="a-form-normal" dir="auto" spellcheck="true"&gt;&lt;/textarea&gt;

标签: python selenium selenium-chromedriver


【解决方案1】:

通过使用不同的方式复制到剪贴板来解决它:

import pyperclip

description = '<tag>abc</tag>def'
pyperclip.copy(description)
browser.find_element_by_id('some-id').send_keys(Keys.CONTROL,'v')

但是仍然缺少一种没有剪贴板的方式......

【讨论】:

    猜你喜欢
    • 1970-01-01
    • 2020-05-13
    • 2020-09-26
    • 2016-07-13
    • 1970-01-01
    • 1970-01-01
    • 2017-09-28
    • 2013-10-21
    • 1970-01-01
    相关资源
    最近更新 更多