首页 > 解决方案 > Selenium 使用 JavaScriptExecutor 设置值,值翻转回来

问题描述

我有这个不能使用 SendKeys 的元素。不知道为什么,但 SendKeys 不会改变值。

<input class="mat-input-element mat-form-field-autofill-control cdk-text-field-autofill-monitored ng-pristine ng-valid ng-touched" formcontrolname="hour" matinput="" maxlength="2" type="text" id="mat-input-70" aria-invalid="false" aria-required="false">

所以我尝试使用 JavaScriptExecutor(这是 C#)

IJavaScriptExecutor js = (IJavaScriptExecutor)SeleniumWebDriverManager.GetSeleniumWebDriver().WebDriver;
js.ExecuteScript($"arguments[0].value='{text}';", this.rootElement);

我可以看到页面中的值发生了变化,但几秒钟后,它又回到了原来的状态。

有谁知道为什么或我能做些什么来改变这个值?

标签: c#angularselenium

解决方案


推荐阅读