JAVAのjavascriptとseleniumを使用してフォームのアクション属性を置き換えようとしましたが、動作させることができません。JAVAでJavascriptとSeleniumを使用してフォームアクションを変更する方法
これは、サイトのスニペットのHTMLです:
</div>
<div class="contionue-shopping-wrapper">
<form class="co-formcontinueshopping" action="https://www.yahoo.com" method="post" id="dwfrm_cart_d0jilurhcxpm">
<fieldset>
<button class="rbk-button-red button-primary bp-black right" type="submit" value="Continue Shopping" name="dwfrm_cart_continueShopping">
<span>Continue Shopping</span>
</button>
</fieldset>
</form>
</div>
これは私が
String link = "https://www.google.com"
((JavascriptExecutor)atc).executeScript("document.getElementsByClassName('co-formcontinueshopping')[0].action="+link);
上記の動作を変更しようとする試みでJAVAでやったものです(注意:ATCは、セレン、クロムでありますwebdriverとサイトはこの段階で読み込まれます)
EDIT:私は次のjavascriptを上に変換すればうまくいくと思いますか?
実際に例えば、このコードは動作しますが、動作するはずdocument.getElementById(document.querySelector("[id^='dwfrm_cart']").id).action = url})()
ログ 'document.getElementsByClassName( '共同formcontinueshopping')[0]かどうかを確認するために、コンソールに.action'セレクタは 'console.log(document.getElementsByClassName( 'co-formcontinueshopping')[0] .action)' –
を使って動作します。ありがとう – hello
問題はあなたのJavaScriptに '' 'がないことです。ですから、String link = "'https://www.google.com'"と書くか、 '' JavascriptExecutor'を介してJavaScriptを '' JavascriptExecutor''を使って実行する必要があります。 –