簡體   English   中英

使用 Selenium Webdriver 進行多項選擇

[英]Multiple Selection Using Selenium Webdriver

我想使用 Selenium webdriver 模擬多選場景,以便用戶能夠選擇 Item 1 和 Item 5 (see the URL) 。

URL JQuery 可選

現在我正在嘗試使用clickAndHold函數執行此操作,但是當我嘗試時,它會選擇 Item 1 和 Item 5 之間的所有其他項目。

現在這正在發生

這正在發生

我要這個

我要這個

我的代碼是這樣的:

baseUrl="http://jqueryui.com/selectable/";
driver.get(baseUrl);
driver.switchTo().frame(0);
List<WebElement> list=driver.findElements(By.cssSelector("ol#selectable *"));
Actions act=new Actions(driver);

act.clickAndHold(list.get(0)).clickAndHold(list.get(4)).release().build().perform();

所以鼠標在到達列表中的第五項之前不會釋放,這可能是在兩者之間進行選擇的原因。

但是如果我嘗試不釋放鼠標單擊並選擇第四項,請使用此代碼

act.clickAndHold(list.get(0)).build().perform();
act.clickAndHold(list.get(4)).build().perform();

然后我得到與上面代碼相​​同的輸出。 我應該在這里更改什么,以便不選擇介於兩者之間的項目。

由於您想要的是更多CTRL +單擊類型的使用情況,因此,我建議以下內容:

Actions actions = new Actions(driver)
actions.keyDown(Keys.CONTROL)
       .click(list.get(0))
       .click(list.get(4))
       .keyUp(Keys.CONTROL)
       .build();
       .perform();

盡管我尚未測試此確切的代碼,但這應該可以幫助您找到正確的路徑。

要在可選中選擇多個選項:

List<WebElement> Selectable = driver.findElements(By.xpath("//*[@id='selectable']/*"));
Actions x = new Actions(driver);

x.keyDown(Keys.CONTROL)
 .click(Selectable.get(0))
 .click(Selectable.get(4))
 .keyUp(Keys.CONTROL)
 .build().perform();

暫無
暫無

聲明:本站的技術帖子網頁,遵循CC BY-SA 4.0協議,如果您需要轉載,請注明本站網址或者原文地址。任何問題請咨詢:yoyou2525@163.com.

 
粵ICP備18138465號  © 2020-2024 STACKOOM.COM