2016-07-12 5 views
1

それを押してください。セレンwebdriverをJavaの - ボタンを作成して、私は<strong><em>のJava</em></strong>で<strong>セレンwebdriverを</strong>(クローム&のFirefoxを)使用してい

行動のすべての種類を行った後、私はこのような通常のソースコードに出くわした:

<input type="button" value="yoyo" class="btn" onClick="SubmitForm(this, 'XYZ','_blank')" > 

と私はボタンをプッシュする必要があります..しかし、ボタン(定期)をプッシュする前に、私は変更する必要があります「XYZ」を「ABC」に変更します。それを行う方法はありますか?

新しいボタンまたはのフォームを作成して、それをプッシュしますか?

また、何とかjavascriptを使用しています。何かできます。

これを行う方法に関する情報が見つかりませんでした。私はあなたの助けに感謝します。あなたがここで説明するようにJavascriptExecutorを使用したいと思う

+0

通常、サーバーから提示されたWebページと対話するためにSeleniumを使用します。 Seleniumが変更されたページで操作できるように、Seleniumの使用中にページの内容を操作する方法について質問していますか? –

+0

Yep .. 私が言及したように、値の1つが異なるときは、ボタンを押す必要があります。 私はこれがツールの目標ではないことを知っていますが、もしそれができれば、私は多くの助けになります。ありがとう。 –

答えて

1

はその後、click以下のようにJavascriptExecutorを使用して、ランタイムのオートメーション中にそれを変更することができます -

WebElement el = driver.findElement(By.className("btn")) 

((JavascriptExecutor) driver).executeScript("arguments[0].setAttribute('onClick', arguments[1]);arguments[0].click();", el, "SubmitForm(this, 'ABC','_blank')"); 

: - これは解決策として恒久的に影響しないであろう。このエフェクトはページがリフレッシュされなくなるまでページ上で動作します。

希望します。

+0

あなたのロック。ありがとう。 はうまく動作します。 –

+0

@SaharMilisよろしくお願いします。 –

1

https://stackoverflow.com/a/8476765/62462

WebDriver driver; // Assigned elsewhere 
JavascriptExecutor js = (JavascriptExecutor) driver; 
js.executeScript("document.getElementById('//id of element').setAttribute('onClick', 'SubmitForm(this, \'ABC\',\'_blank\')')"); 

それはIDを持っていない場合は、XPathを介して入力要素を見つける必要があるかもしれません。

+0

ありがとう。 はうまく動作します。 –

関連する問題

 関連する問題