2016-07-12 64 views
1

我使用硒的webdriver(鉻&火狐)與的Java硒的webdriver爪哇 - 創建按鈕,並將它推

使所有種類的動作後,我碰到一個普通的源代碼來是這樣的:

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

,我需要按下按鈕..但按下按鈕(定期)之前,我需要改變「XYZ」改爲「ABC」。有沒有辦法做到這一點?

或者也許創建一個新按鈕表格然後推它?

甚至使用JavaScript以某種方式..任何事情都會做。

我找不到任何有關如何做到這一點的信息,我會感謝您的幫助。

+0

通常會使用Selenium與服務器提供的網頁進行交互。您是否在使用Selenium時詢問如何處理頁面內容,以便Selenium可以在修改過的頁面上進行操作? –

+0

是的.. 正如我所提到的,當其中一個值不同時,我必須按下按鈕。 我知道這不是該工具的目標,但如果它能做到這一點,它將對我有很大的幫助。 –

回答

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

YOU ROCK。謝謝。 效果很好。 –

+0

@SaharMilis你歡迎..很高興hepl你.. :) –

1

你想使用JavascriptExecutor如下所述: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\')')"); 

您可能需要尋找通過XPath的輸入元素,如果沒有一個id。

+0

謝謝。 效果很好。 –