2015-04-01 124 views
0

據硒API文檔,還有一個功能getAttribute但沒有setAttribute如何設置WebElement的id屬性?

理想情況下,我想能夠做到以下幾點:

element.set_attribute('id', 'abcd') 

我想實現的是設置測試期間WebElement的ID。

我使用的驅動器2.44,它不帶有參數

+0

你能提供一些你正在處理的元素的HTML嗎? – Saifur 2015-04-01 01:09:34

回答

-1

你不能設置使用硒元素的屬性支持execute_script。主要是爲了測試目的自動化Web應用程序。

Selenium確實允許在網頁上執行JavaScript。

請參見下面的例子:

可以執行任意JavaScript找到一個元素,只要你返回一個DOM元素,它會自動轉換爲WebElement對象。

WebElement element = (WebElement) ((JavascriptExecutor)driver).executeScript("return $('.cheese')[0]"); 

找到所有的輸入元素添加到頁面上的每一個標籤:

List<WebElement> labels = driver.findElements(By.tagName("label")); 
List<WebElement> inputs = (List<WebElement>) ((JavascriptExecutor)driver).executeScript(
    "var labels = arguments[0], inputs = []; for (var i=0; i < labels.length; i++){" + 
    "inputs.push(document.getElementById(labels[i].getAttribute('for'))); } return inputs;", labels); 

對於一些更多的信息,你可以通過Selenium Documentation ,這是非常精確的。