Python Selenium的send_keys函数只发送部分文本

4
我正在使用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驱动程序版本-https://bugs.chromium.org/p/chromedriver/issues/detail?id=1771 - Sushant
@GauravNeema 在发送按键之前尝试清除()inputElement或单击()到文本字段。 - Zaraki Kenpachi
尝试过了,问题仍然存在。@ZarakiKenpachi - Gaurav Neema
@GauravNeema 然后尝试使用 WebDriverWait 直到输入元素加载完成,或者在发送键之前设置 time.sleep(3)。 - Zaraki Kenpachi
@GauravNeema 你能发一下包含 input 标签的 HTML 行吗? - Zaraki Kenpachi
显示剩余6条评论
1个回答

0

试试这个:

        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()

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

网页内容由stack overflow 提供, 点击上面的
可以查看英文原文,
原文链接