将带有HTML的字符串传递给selenium中的send_keys

时间:2020-01-22 20:43:41

标签: python selenium selenium-chromedriver

将包含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')

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

我正在Raspberry Pi上使用Python 3.7

非常感谢您的帮助

1 个答案:

答案 0 :(得分:2)

通过使用其他方式复制到剪贴板解决了该问题:

import pyperclip

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

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