2014-02-07 134 views
0

在Java中使用Selenium webdriver如何調整文本區域大小/ 我想通過拖動元素的右下角來擴展textarea。Selenium WebDriver調整文本區域大小

我已經試過這樣的事情,但它不都

new Actions(webdriver).dragAndDropBy(element, height, width).perform() 

回答

2

更改的元素,我沒有任何東西來測試這個問題,但我猜你用沒了dragAndDropBy方法的原因沒有用,因爲它不會點擊元素的右下角。我相信你會需要這樣的東西:

Actions action = new Actions(driver); 
action.moveToElement(toElement, xOffset, yOffset); //moves to bottom right corner 
action.clickAndHold(); 
action.moveByOffset(xOffset, yOffset); 
action.release(); 
action.perform(); 

偏移量取決於您提到的文本區域的大小。您可以查看更多關於Action類的文章:http://selenium.googlecode.com/git/docs/api/java/org/openqa/selenium/interactions/Actions.html。希望這有助於。

0

我想原因你的代碼是行不通的,因爲不包括build()方法是你可以試試這個,告訴如果現在working-

new Actions(webdriver).dragAndDropBy(element, height, width).build().perform(); 
0

這可以用JavaScriptExecutor界面來完成。 JavaScriptExecutor是一個接口,它提供了通過selenium webdriver執行Javascript的機制,藉助於此可以更改textarea的行和列屬性,因此textarea可以隨其調整大小。希望這會幫助你 -

public static void main(String[] args) { 

    ProfilesIni profile = new ProfilesIni(); 
    FirefoxProfile a = profile.getProfile("default"); 
    WebDriver driver = new FirefoxDriver(a); 
    driver.get("http://localhost/testfolder/textarea.html"); 

    JavascriptExecutor js = (JavascriptExecutor) driver; 
    js.executeScript("document.getElementById('textarea').setAttribute('rows', '30')"); 
    js.executeScript("document.getElementById('textarea').setAttribute('cols', '50')"); 



} 

剛剛找到textarea元素與元素定位器然後設置「行」和「的cols」屬性值。

我希望這可以幫助你。

相關問題