我如何在selenium c#中设置input-select(React.js字段)中的值?

时间:2018-03-21 16:49:01

标签: selenium selenium-webdriver selenium-chromedriver selenium-rc selenium-grid

我没有使用selenium c#获取输入选择值(React.js字段)。该字段获取服务的值。

Obs:我已尝试使用SendKeys命令填充字段,但我不对。

它的HTML代码:

<div class="Select selectbox-select Select--single is-clearable is-searchable"><div class="Select-control"><span class="Select-multi-value-wrapper" id="react-select-2--value"><div class="Select-placeholder">Selecione...</div><div class="Select-input" style="display: inline-block;"><style>input#undefined::-ms-clear {display: none;}</style><input role="combobox" aria-expanded="false" aria-owns="" aria-haspopup="false" aria-activedescendant="react-select-2--value" value="" style="width: 5px; box-sizing: content-box;"><div style="position: absolute; top: 0px; left: 0px; visibility: hidden; height: 0px; overflow: scroll; white-space: pre; font-size: 16px; font-family: roboto-regular, sans-serif; font-weight: 400; font-style: normal; letter-spacing: normal; text-transform: none;"></div></div></span><span class="Select-arrow-zone"><span class="Select-arrow"></span></span></div></div>

<div class="Select selectbox-select Select--single is-clearable is-searchable has-value"><div class="Select-control"><span class="Select-multi-value-wrapper" id="react-select-2--value"><div class="Select-value"><span class="Select-value-label" role="option" aria-selected="true" id="react-select-2--value-item">000001 - EST GO</span></div><div class="Select-input" style="display: inline-block;"><style>input#undefined::-ms-clear {display: none;}</style><input role="combobox" aria-expanded="false" aria-owns="" aria-haspopup="false" aria-activedescendant="react-select-2--value" value="" style="width: 5px; box-sizing: content-box;"><div style="position: absolute; top: 0px; left: 0px; visibility: hidden; height: 0px; overflow: scroll; white-space: pre; font-size: 16px; font-family: roboto-regular, sans-serif; font-weight: 400; font-style: normal; letter-spacing: normal; text-transform: none;"></div></div></span><span class="Select-clear-zone" title="Clear value" aria-label="Clear value"><span class="Select-clear">×</span></span><span class="Select-arrow-zone"><span class="Select-arrow"></span></span></div></div>

这是我的代码:

//ParametersPage.cs
 public void preencherCampoProduto(string produto)
        {
            inputSelectProduto.Clicks();
            IWebElement dropdownValue = retornaXpathCamposInputSelect(produto);
            dropdownValue.Clicks();
        }

public IWebElement retornaXpathCamposInputSelect(string valor)
        {
            return driver.FindElement(By.XPath("//div[contains(text(),'" + valor + "')]"));
        }

//ParametersTest.cs
        [TestMethod]
        public void OLE_testParametrosPreencherConvenio()
        {
            autenticacao.RealizarAutenticacao(usuarioCorreto, senhaCorreta);
            paginaInicial.acessarMenuRemuneracaoCadastroListagem();
            parametro.preencherCampoConvenio("005045 - CARBEL");
            //Assert.IsTrue(alerta.MensagemValidacao().Contains(MSG_RelatorioDataInicioFimForaLimite));
        }

谢谢,人们!!!

1 个答案:

答案 0 :(得分:0)

尝试使用Actions类:

IWebElement myElement = Driver.Instance.FindElement(By.XPath(“ // * [@ id ='field_” + SetEnvironmentJourney.EnvironmentControlId +“ _” + elementId +“']”)));                 动作=新动作(Driver.Instance);                 act.MoveToElement(myElement).Click()。Build()。Perform();

            IWebElement myItem = myElement.FindElement(By.XPath("//div[contains(text(),'" + p + "')]"));
            act.Click(myItem).Build().Perform();