Python Selenium send_keys 函数发送部分文本

Posted

技术标签:

【中文标题】Python Selenium send_keys 函数发送部分文本【英文标题】:Python Selenium send_keys function sends part of text 【发布时间】:2019-11-18 15:14:44 【问题描述】:

我正在使用 Python Selenium 和 chromedriver 进行自动化测试。 下面是代码示例:

        inputElement.send_keys(2356785)
        try:
            print("Trying using ENTER")
            submit = driver.find_element_by_id('button_id')
            submit.send_keys("\n")
        except Exception as e:
            print("--TRYING using CLICK")
            driver.find_element_by_id('button_id').click()

代码的问题是在输入元素中输入了文本的一些随机部分而不是全文。

已经尝试过的事情:

一位一位发送数字。 在send_keys() 函数前后添加延迟。 将数字类型转换为字符串。

【问题讨论】:

你能发个网址吗? 尝试更改 chrome 驱动程序版本 - bugs.chromium.org/p/chromedriver/issues/detail?id=1771 这是一个内部工具,所以我不能分享网址@ZarakiKenpachi 可以分享截图吗? @GauravNeema 在发送键之前尝试清除()输入元素或点击()进入文本字段 【参考方案1】:

试试这个:

        inputElement.send_keys("2356785") #Notice how i am sending the input as a string instead of int
    try:
        print("Trying using ENTER")
        submit = driver.find_element_by_id('button_id')
        submit.send_keys("\n")
    except Exception as e:
        print("--TRYING using CLICK")
        driver.find_element_by_id('button_id').click()

也许使用字符串而不是 int 可以解决您的问题

【讨论】:

以上是关于Python Selenium send_keys 函数发送部分文本的主要内容,如果未能解决你的问题,请参考以下文章

Selenium2+python自动化33-文件上传(send_keys)

Python Selenium send_keys 函数发送部分文本

Python+Selenium键盘的几种操作:send_keys(Keys.CONTROL,'a')

selenium+python之操作元素

TypeError:“FirefoxWebElement”类型的对象在使用 Selenium Python 通过 send_keys 发送文本时没有 len() 错误

python selenium中的send_keys输入页数想要使用for循环出来的该怎么办?