2016-04-20 12 views
0

これをマウスで操作しようとしています。私が女性に夢中になれば、私たちは異なるサブメニューを見ることができます。私はそれらのいずれかをクリックしたい。あなたのコードにセレンの上にマウスを置く

action.moveToElement(we).moveToElement(ve).click(ve).perform(); 

いくつかの一般的な提案: そうしないように、システムパスにchromedriverを追加するには、以下の はコード

public static void main(String[] args) throws InterruptedException 
{ 
System.setProperty("webdriver.chrome.driver", "D://chromedriver.exe"); 
    WebDriver driver= new ChromeDriver(); 
    driver.get("http:obsessory.com/"); 
    driver.manage().window().maximize(); 
    driver.manage().timeouts().implicitlyWait(20, TimeUnit.SECONDS); 
    System.out.println("ok"); 
    Thread.sleep(1000); 
    Actions action = new Actions(driver); 
    WebElement we = driver.findElement(By.xpath(".//*[@id='nav']/li[2]/a")); 
    WebElement ve  =driver.findElement(By.xpath(".//[@id='nav']/li[2]/ul/li/div[2]/ul/li[2]/a")); 
    action.moveToElement(we).click(ve).perform(); 

}

答えて

0

このようなあなたのアクションを構築してみていますすべてのテストでSystem.setProperty("webdriver.chrome.driver", "D://chromedriver.exe");を使用する必要があります。また、暗黙の待ちの代わりに明示的な待機を使用し、コード内でthread.sleepを使用しないでください。

0

答えが表示されない場合は、要素に移動するようにしてください。しばらく待ってから、以下のようにしてください。

 action.moveToElement(we).build().perform(); 
    Thread.sleep(1000); 
    driver.findElement(By.xpath(".//[@id='nav']/li[2]/ul/li/div[2]/ul/li[2]/a")).click(); 

一般に私はこれらのマウスの移動操作がうまく動作するようにマウスポインタを画面外に置きます。

はここで、 ムラリ

+0

おかげムラリ、私のためにその作業。 – kavya

+0

おしゃれなkavya .. :) –

0

をありがとう1つのメニュー「女」とリンク「パンツ」をクリックする実施例である:

WebDriver driver= new ChromeDriver(); 
WebDriverWait wait = new WebDriverWait(driver, 20); 
wait.ignoring(WebDriverException.class); 

driver.get("http://obsessory.com/"); 

// mouse over the main menu "Women" 
WebElement menu = driver.findElement(By.xpath("id('nav')//a[.='Women']")); 
new Actions(driver).moveToElement(menu).perform(); 

// click the link "Trousers" until succeed 
WebElement link = menu.findElement(By.xpath("..//a[.='Trousers']")); 
wait.until((WebDriver wd)->{ 
    link.click(); 
    return true; 
}); 
関連する問題