1
私は、ページに隠された入力テキストを持っています。 Selenium
は、デフォルトではキーを割り当てたり、ページ内の隠し要素にアクセスしたり、帽子が理解できるようにすることはできませんが、この場合は隠し要素にアクセスする必要があります。 は、私はこのコードを使用してIJavaScriptExecutor
からメソッドExecuteScript
を呼び出しています:ExecuteScriptは自分の要素の可視性を変更しません - 要素が表示されません
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("*");
この 'document.getElementById( 'ctl00_ContentPlaceHolder1_tbIsCaptchaChecked')。setAttribute( 'display'、 'flex')'をブラウザコンソールで手動で試したところ、要素は表示されますか? –
executeScriptとfindelementの間の時間が短くても、DOMのレプリケーションが行われず、要素がまだ見えない場合もあります。あなたは間に待機を挿入しようとしましたか? –
@TimBourguignon私はそれを試みた、私は10秒を追加しましたが、運がない –