我有一个文本字段,默认情况下包含2位数的值。我想在输入新值之前清除它。我使用的是TextSlider.Clear();
,但在最新的ChromeDriver更新之后,它不再起作用,因此我尝试使用退格键解决该问题。目前,我正在做两个退格键,一次一个。
TextSlider.SendKeys(Keys.Backspace);
TextSlider.SendKeys(Keys.Backspace);
我也尝试了DELETE,但这也没有用。有什么办法可以单行完成吗?
答案 0 :(得分:0)
intent
答案 1 :(得分:0)
首先尝试修复TextSlider.Clear();
不能正常工作的情况。我可能正在加载问题,SendKeys方法将起作用。尝试添加等待页面正确加载。
如果仍然无法正常工作,则可以使用
TextSlider.Click();
TextSlider.Clear();
但是下面的功能肯定会起作用,
TextSlider.SendKeys(Keys.Backspace + Keys.Backspace);
答案 2 :(得分:0)
理想情况下,不是使用config.middleware.insert_before 0, Rack::Cors do
allow do
origins '*'
resource '*', :headers => :any, :methods => [:get, :post, :delete, :put, :patch, :options, :head], :expose => ['uid', 'client', 'expiry', 'access-token', 'token-type']
end
end
来清除文本字段,而是需要诱使 WebDriverWait 使元素可点击您可以使用以下任一解决方案:
使用ElementToBeClickable Method (IWebElement)
:
Keys.Backspace
使用ElementToBeClickable Method (By)
:
new WebDriverWait(driver, TimeSpan.FromSeconds(10)).Until(ExpectedConditions.ElementToBeClickable(TextSlider)).Clear();
答案 3 :(得分:0)
另一个选择是使用Java脚本清除文本元素。由于某些并行测试情况下出现问题,我前一段时间不再依赖SendKeys函数。相反,我现在使用这些功能来设置特定的文本:
$ORACLE_HOME/bin/exp $ORACLE_USER/$ORACLE_PW@$DB_TNS_NAME file=$filename.dmp log=$filename.log tables=managed_devices,customers,networks,device_types,polling_classes,S_BFG_NETWORK_NODES,LOG_CLASSES,EIN,CLIENT_GROUPS,DEVICE_LOGS,CUSTOMER_SITES,JOB_CONFIGS buffer=20480000 CONSTRAINTS=n GRANTS=n INDEXES=n TRIGGERS=n STATISTICS=NONE VIEWS_AS_TABLES=CUSTOMER_SITES,JOB_CONFIGS
我个人有点不喜欢硬编码的javascript,但它总是可靠地完成了工作。此代码中两次调用“ SetElementValue”,以确保在测试中正确处理某些事件:在其他情况下可能没有必要。
答案 4 :(得分:0)
谢谢大家
我设法使用ctrl A和Delete键来解决此问题
TextSlider.SendKeys(Keys.Control + "a");
TextSlider.SendKeys(Keys.Delete);