我的页面中有一个隐藏的输入文字,我需要取消隐藏它并确定密钥' *'它。默认情况下,Selenium
不允许您分配键或访问页面中隐藏的元素,并且可以理解,但在这种情况下,我需要访问该隐藏元素。
我使用以下代码从ExecuteScript
调用方法IJavaScriptExecutor
:
js.ExecuteScript("document.getElementById('ctl00_ContentPlaceHolder1_tbIsCaptchaChecked').setAttribute('display', 'flex')");
但是仍然没有运气,因为我收到错误"元素不可见"
这是我的完整代码:
var _driver = new ChromeDriver();
var js = _driver as IJavaScriptExecutor;
js.ExecuteScript("document.getElementById('ctl00_ContentPlaceHolder1_tbIsCaptchaChecked').setAttribute('display', 'flex')");
_driver.FindElement(By.CssSelector("input#ctl00_ContentPlaceHolder1_tbIsCaptchaChecked.hiddenRecaptcha")).SendKeys("*");
答案 0 :(得分:1)
改为设置样式属性:
"document.getElementById('...').style.display = 'flex';"
请注意,要被Selenium视为可见,该元素也需要具有大小。