Ruby .send_keys方法未输入预期数据,否则将完全忽略它
我遇到这样一种情况:driver.find_元素:id,“sometext.send_keys”方法没有输入预期的数据,或者完全忽略了它 我正在将SeleniumWebDriver与Ruby和Windows7一起使用 例如: 在前两行下面的代码中,找到单价字段,将其清除,然后在该字段中输入“100.00”。在第二个字段中,同样的行为应该在Broker佣金字段中输入“150.00”,但是输入“0.1”,然后第三个字段,即运费字段被完全忽略 我尝试使用:id、:name和:xpath来实现这一点,结果类似。请注意,同一页面上还有其他字段使用相同的方法输入正确的金额,但对于这两个字段,我无法使其正常工作。为什么只有这两个领域会有所不同Ruby .send_keys方法未输入预期数据,否则将完全忽略它,ruby,selenium-webdriver,Ruby,Selenium Webdriver,我遇到这样一种情况:driver.find_元素:id,“sometext.send_keys”方法没有输入预期的数据,或者完全忽略了它 我正在将SeleniumWebDriver与Ruby和Windows7一起使用 例如: 在前两行下面的代码中,找到单价字段,将其清除,然后在该字段中输入“100.00”。在第二个字段中,同样的行为应该在Broker佣金字段中输入“150.00”,但是输入“0.1”,然后第三个字段,即运费字段被完全忽略 我尝试使用:id、:name和:xpath来实现这一点,结
@driver.find_element(:id, "frmfldUnitPrice2").clear
@driver.find_element(:id, "frmfldUnitPrice2").send_keys "100.00"
@driver.find_element(:id, "txtBrokerCommission").clear
@driver.find_element(:id, "txtBrokerCommission").send_keys "150"
@driver.find_element(:id, "txtShippingFee").clear
@driver.find_element(:id, "txtShippingFee").send_keys "100"
经过大量研究,我终于想出了一个解决办法。这比我想象的要简单得多。不是很优雅,但它适用于这种情况 通过输入sendkeys命令和backspace\b,您可以解决光标指向默认值末尾的问题。由于清除不起作用,我必须进入字段,然后后退4次以清除0.00\b*4
有没有可能创建一个样本页面,让我们重现这个问题?有可能,但我必须找到一个方法。
@driver.find_element(:id, "txtBrokerCommission").clear
@driver.find_element(:id, "txtBrokerCommission").send_keys ("\b"*4)
@driver.find_element(:id, "txtBrokerCommission").send_keys "150"
@driver.find_element(:id, "txtShippingFee").clear
@driver.find_element(:id, "txtShippingFee").send_keys ("\b"*4)
@driver.find_element(:id, "txtShippingFee").send_keys "100"