Selenium webdriver 在sendKeys()中传递空值

Selenium webdriver 在sendKeys()中传递空值,selenium-webdriver,Selenium Webdriver,我正在从excel工作表中读取数据,并使用sendKeys()将这些值传递到应用程序中。但是,当我试图使用sendKeys()传递任何空值时,会出现“org.openqa.selenium.WebDriverException:未知错误:键应该是字符串”错误。请帮助我,如何使用sendKeys()传递空值。您不发送空值 如评论中所述,用户不能通过键盘发送null,因此Selenium也不会这样做 相反,当从外部源读入值时,您应该进行某种过滤(这是一种良好的实践,甚至超出了处理空值的范围) 在过滤

我正在从excel工作表中读取数据,并使用sendKeys()将这些值传递到应用程序中。但是,当我试图使用sendKeys()传递任何空值时,会出现“org.openqa.selenium.WebDriverException:未知错误:键应该是字符串”错误。请帮助我,如何使用sendKeys()传递空值。

您不发送空值 如评论中所述,用户不能通过键盘发送
null
,因此Selenium也不会这样做

相反,当从外部源读入值时,您应该进行某种过滤(这是一种良好的实践,甚至超出了处理空值的范围)

在过滤器中,如果单元格字段为空(null),则应执行以下两项操作之一:

  • 什么也不寄
  • 发送一个空字符串;“”
  • 实际上,这两种方法都应该有过滤器。有时您不想发送任何内容,有时您想发送“”以清空当前值


    我个人设置了它,因此如果单元格为空,则发送“”,如果单元格显示“null”,则不发送任何值。

    人们是否使用键盘发送null值?想想看,我有一个场景,我正在迭代一些步骤,在这些步骤中,我必须保持一个字段为空。因此,对于我的框架执行步骤时的特定字段,它尝试发送null值。发送
    null
    并不会将字段留空(无论如何,您都不能这样做)。检查值是否为空,如果为空,则不执行任何操作。或者将值强制转换为字符串并发送一个空字符串,以便最终得到一个空输入。但我会支持盖伊的解决方案。如果值为
    null
    ,则不要执行任何操作,这更符合逻辑。在将值转换为字符串后,感谢emix,我的问题解决了。