1

私たちのアプリケーションでは、マウスをメニュー項目の上に置くと、ドロップダウンが表示され、クリックして項目を選択したいところです。メニューの構成は以下の通りです。

 Main Menu
    Admin Sub menu: 
      Manage Channels
      Manage Users 

Selenium Webdriver で、xpath、linktext、部分的なリンク テキストを指定して、Manage Channels を直接クリックしようとしました。ただし、オプションでは、要素が見つかりませんと表示されます。参考までにスクリーンショットを添付します

 driver.findElement(By.linkText("Manage Channels")).click(); 
 driver.findElement(By.xpath("//li/a[contains(., \"Manage Channels\")]")).click(); 
 driver.findElement(By.partialLinkText("Manage Channels"));

メニューのスクリーンショット

4

2 に答える 2

1

基本的に、最初にマウスを「メニュー項目」ドロップダウンに移動し、次にマウスを選択したいオプションに移動してからオプションをクリックする必要があります。

Ruby の場合、以下は 1 行のコードです。

driver.action.movet_to(el1).movet_to(el2).click.perform

Javaについてはわかりませんが、上記のロジックを適用できます。次のJavaコードを試してみました。動作するかどうかを確認するか、必要に応じて変更してください。

WebElement element1 = driver.findElement(By.linkText("Manage Channels")); 
WebElement element2 = driver.findElement(By.xpath("//li/a[contains(., \"Manage Channels\")]"))

Actions action = new Actions(driver);    
action.moveToElement(element1).moveToElement(element2).click().build().perform();
于 2013-08-13T06:05:00.240 に答える
0

次の方法を使用して、目的のメニュー項目にマウスを合わせることができます。

  • el = driver.find_element(:id, "some_id")

    driver.action.move_to(el).perform'

  • el = driver.find_element(:id, "some_id")

    driver.action.move_to(el, 100, 100).perform

詳細なガイドラインについては、次のリンクを参照してください: http://selenium.googlecode.com/svn/trunk/docs/api/rb/Selenium/WebDriver/ActionBuilder.html#move_to-instance_method

これがあなたを助けることを願っています!!!

乾杯...

于 2013-08-12T06:28:44.020 に答える