问题与Selenium,Python

时间:2016-08-18 13:47:56

标签: python selenium

我写了以下内容。

from selenium import webdriver 
from selenium.webdriver.common.keys import Keys
bot = webdriver.Firefox()
bot.find_element_by_name("username").send_keys(config['username'])

当我使用send_keys并碰巧在同一时刻打字时,我输入的内容也会添加到用户名中。
怎么避免这个?

示例:

我想填写用户名" sandeep" 如果在同一时刻我按了“#”,则用户名变为" sandeepa"或类似的东西。

2 个答案:

答案 0 :(得分:1)

您可以使用executeScript方法:

webdriver.execute_script("document.getElementById('username').setAttribute('value', 'Sandeep')")

JavaScript将文本插入作为单个操作。

答案 1 :(得分:0)

我看到两个选项:

  1. 创建隐藏的输入发送密钥,而不是在删除隐藏输入后执行从隐藏到可见输入的复制/粘贴。

  2. 隐藏输入,而不是send_keys,然后显示回来。

  3. 有用的链接:

    Performing a copy and paste with Selenium 2

    WebDriver: add new element