2017-05-02 8 views
0

プログラムの実行中に以下のエラーメッセージが表示されます。ポインタアクションの型引数が見つからないか無効です - Selenium

Error: Missing or invalid type argument for pointer action.

メインメニューのマウスのホバーの後に表示されるサブメニューをクリックしようとしています。以下

コード:

public class ActionKeywords { 
    WebDriver driver = new FirefoxDriver(); 

    @Test 
    public void openBrowser(){ 
     driver.get("https://www.levissima.it/"); 
     driver.manage().timeouts().implicitlyWait(20, TimeUnit.SECONDS); 
     driver.manage().window().maximize(); 
    } 
    @Test 
    public void verify_Menus(){ 

     WebElement mainMenu = driver.findElement(By.xpath("//ul[@id='menu-main']/li/a")); 

     WebElement subMenu = driver.findElement(By.xpath("//a[contains(text(),'Impegno Per La Natura')]")); 
     Actions action = new Actions (driver); 
     action.moveToElement(mainMenu).perform(); 
     action.click(subMenu).perform(); 
    } 
} 

支援してください!このclick()を達成するための

+0

この行はあなたにこのエラーをスローします。完全なエラースタックトレースを追加してください。 – kushal

+0

どのラインにエラーが表示されますか?完全なエラースタックトレースを提供してください。 – DebanjanB

+0

org.openqa.selenium.InvalidArgumentException:ポインタアクションの型引数が存在しないか、無効です。 ビルドインフォメーション:バージョン: '3.3.1'、リビジョン: '5234b325d5'、時刻: '2017-03-10 09:10:29 +0000 'システム情報:ホスト:' M3B-D-543T2D3 '、IP:' 192.168.91.1 '、os.name:' Windows 10 '、os.arch:' amd64 '、os.version:'10 .0'、java。バージョン: '1.8.0_111' – Sudhir

答えて

0

Mozilla Firefoxブラウザ53.xで動作するSelenium 3.4.0では、最新のgeckodriverをhereからダウンロードする必要があります。あなたのマシンに保存& geckodriverの絶対パスを提供します。このコードは、あなた自身のコードに簡単に微調整するだけで正常に動作します。

WebDriver driver; 

@BeforeTest 
public void setup() 
{ 
    System.setProperty("webdriver.gecko.driver", "C:\\Utility\\BrowserDrivers\\geckodriver.exe"); 
    DesiredCapabilities dc = DesiredCapabilities.firefox(); 
    dc.setCapability("marionette", true); 
    driver = new FirefoxDriver(dc); 
    driver.manage().window().maximize(); 
} 

@Test 
public void openBrowser(){ 
    driver.get("https://www.levissima.it/"); 
    driver.manage().timeouts().implicitlyWait(20, TimeUnit.SECONDS); 
    driver.manage().window().maximize(); 
} 
@Test 
public void verify_Menus(){ 

    WebElement mainMenu = driver.findElement(By.xpath("//ul[@id='menu-main']/li/a")); 

    WebElement subMenu = driver.findElement(By.xpath("//a[contains(text(),'Impegno Per La Natura')]")); 
    Actions action = new Actions (driver); 
    action.moveToElement(mainMenu).perform(); 
    action.click(subMenu).perform(); 
} 

出力は次のようになります。

PASSED: openBrowser 
PASSED: verify_Menus 

=============================================== 
    Default test 
    Tests run: 2, Failures: 0, Skips: 0 
=============================================== 

が、これは、あなたの質問に答えるなら、私に教えてください。

+0

FAILED CONFIGURATION:@BeforeTest setup java.lang.ClassCastException:org.openqa.selenium.remote.service.DriverCommandExecutorはorg.openqa.selenium.firefox.FirefoxDriver $ LazyCommandExecutorにキャストできません – Sudhir

+0

1.使用しているSeleniumのバージョン? 2. geckoドライバを使用していますか? 3.どのバージョンであれば? 4. Mozilla Firefox Browserのバージョンは何ですか? – DebanjanB

+0

Selenium 3.3.1 Firefox 53.0 – Sudhir

0

一つの良い方法は、次のようになります。

Actions action = new Actions (driver); 
    action.moveToElement(mainMenu).moveToElement(subMenu).click().build().perform(); 

これは、アクションの連鎖と呼ばれています。

+0

@Sudhir:これを試しましたか? – kushal

+0

はい。クシャールしかし、私はorg.openqa.selenium.InvalidArgumentExceptionと同じエラーを受け取りました:ポインタアクションの型引数がないか無効です。 – Sudhir

+0

あなたにインポートを表示してください。 – kushal

0

私は今日このエラーを受けて、別のgeckodriverバージョンを使用して解決しました。その場合(Firefox 52 + Selenium 3.8.0)、geckodriver 0.15がそれを解決しました。

Firefox/Geckodriver/Seleniumのさまざまなバージョンをダウンロードして試してみるのは初めてです。

最新のgeckodriverをダウンロードしても問題は解決しません。あなたのFirefoxとgeckodriverのバージョンに応じて古いバージョンが必要な場合がありますので、魔法のように動作することを望む最新バージョンを入手するのではなく、あなた自身で試してください。

私は本当に狂ってしまう前に別のgeckodriversを試してみることをお勧めします。

関連する問題