0

有一個鼠標懸停下拉列表,其中下拉列表出現在懸停上,並且鼠標指針從下拉列表中移動時消失。我嘗試使用「Actions」類將鼠標懸停在下拉元素上,但執行鼠標懸停後無法看到下拉列表。直到執行下一個操作時,下拉不會停留。無法保持鼠標懸停時的元素

有沒有什麼方法可以在執行懸停後等待以便下拉​​菜單顯示更長時間,以便從下拉列表中選擇/單擊元素?

代碼:

driver= new ChromeDriver(); 
driver.get("w3schools.com/howto/howto_css_dropdown.asp"); 
driver.manage().window().maximize(); 
driver.manage().timeouts().implicitlyWait(60, TimeUnit.SECONDS); 
WebElement element = driver.findElement(By.xpath(".//*@id='main']/div[3]/button")‌​); 
Actions action= new Actions(driver); 
action.moveToElement(element).perform(); 
Thread.sleep(5000); 

環境:你寫的鼠標懸停動作,並嘗試以下之前鼠標懸停動作解

Chrome version: 56.0.2924.87 (64-bit) 
Chrome driver: 2.27 
+1

能否請您提供一些更多的信息如下:1.您能顯示您嘗試過的代碼嗎? 2.提供HTML DOM。 3.元素的屏幕截圖。 – DebanjanB

+0

我已經習慣了下面提到的代碼: driver = new ChromeDriver(); driver.get(「https://www.w3schools.com/howto/howto_css_dropdown.asp」); (); window()。maximize(); \t driver.manage()。timeouts()。implicitlyWait(60,TimeUnit.SECONDS); WebElement element = driver.findElement(By.xpath(「.//*@id ='main']/div [3]/button」)); Actions action = new Actions(driver); action.moveToElement(element).perform(); Thread.sleep(5000); –

回答

0

使用相同的代碼。

  • 將鼠標光標保持在任務欄上。

    OR

  • 移動鼠標光標在(0,0)的瀏覽器的位置。

+0

設置光標位置(0,0)懸停之前爲我工作。謝謝 –

0

執行完()後需要遍歷元素。

這裏是工作代碼:

package demo; 

import java.util.List; 
import java.util.concurrent.TimeUnit; 

import org.openqa.selenium.By; 
import org.openqa.selenium.WebDriver; 
import org.openqa.selenium.WebElement; 
import org.openqa.selenium.chrome.ChromeDriver; 
import org.openqa.selenium.interactions.Actions; 

public class MouseHoverDemo_w3school { 

    public static void main(String[] args) { 



     System.setProperty("webdriver.chrome.driver", "C:\\Utility\\BrowserDrivers\\chromedriver.exe"); 
     WebDriver driver = new ChromeDriver(); 
     driver.manage().window().maximize(); 
     driver.get("https://www.w3schools.com/howto/howto_css_dropdown.asp"); 
     driver.manage().timeouts().implicitlyWait(10, TimeUnit.SECONDS); 
     WebElement ele = driver.findElement(By.xpath(".//div[@class='dropdown dropdown2']/button")); 
     Actions act = new Actions(driver); 
     act.moveToElement(ele).perform(); 
     List<WebElement> links = driver.findElements(By.xpath(".//div[@class='dropdown-content']/a")); 
     int total_count = links.size(); 
     for (int i=0; i<total_count; i++) 
     { 
      WebElement element = links.get(i); 
      String text = element.getAttribute("innerHTML"); 
      System.out.println("Link Name is : "+text); 

     } 

     driver.quit(); 
    } 

} 

讓我知道如果這個回答你的問題。

相關問題