send_keys到隐藏的元素

时间:2017-11-22 12:00:52

标签: python selenium hidden sendkeys

我想将文字发送到页面的文本框。

这是页面上的隐藏元素:

<textarea class="chatterTopicsEnabled groupAtMentionsEnabled publishertextarea" 
  id="publishereditablearea" 
  name="publishereditablearea" 
  role="textbox" tabindex="0" 
  title="Topics" type="text" wrap="soft" 
  data-uidsfdc="112" style="height: 208px;">Topics</textarea>
<input type="hidden" id="publisherprompttext" name="publisherprompttext" value="Topics">

我可以点击文本框但无法发送文字的代码:

textbox = [tag for tag in driver.find_elements_by_tag_name('textarea') 
           if tag.get_attribute('name') == 'publishereditablearea']
textbox[0].click()
textbox[0].send_keys("text")

错误消息说:element not visible.

如何将文字发送到文本框?

2 个答案:

答案 0 :(得分:1)

尝试以下(必须有效):

js = "document.getElementById('publishereditablearea').value = 'text';"
driver.execute_script(js)

答案 1 :(得分:1)

使用execute_script这样使用,因为您的元素已隐藏

element=driver.find_element_by_id("publishereditablearea") 
driver.execute_script("arguments[0].click();", element)