Warning: file_get_contents(/data/phpspider/zhask/data//catemap/8/selenium/4.json): failed to open stream: No such file or directory in /data/phpspider/zhask/libs/function.php on line 167

Warning: Invalid argument supplied for foreach() in /data/phpspider/zhask/libs/tag.function.php on line 1116

Notice: Undefined index: in /data/phpspider/zhask/libs/function.php on line 180

Warning: array_chunk() expects parameter 1 to be array, null given in /data/phpspider/zhask/libs/function.php on line 181

Warning: file_get_contents(/data/phpspider/zhask/data//catemap/2/facebook/9.json): failed to open stream: No such file or directory in /data/phpspider/zhask/libs/function.php on line 167

Warning: Invalid argument supplied for foreach() in /data/phpspider/zhask/libs/tag.function.php on line 1116

Notice: Undefined index: in /data/phpspider/zhask/libs/function.php on line 180

Warning: array_chunk() expects parameter 1 to be array, null given in /data/phpspider/zhask/libs/function.php on line 181
Selenium 如何在WebDriver中双击和右键单击?_Selenium_Webdriver - Fatal编程技术网

Selenium 如何在WebDriver中双击和右键单击?

Selenium 如何在WebDriver中双击和右键单击?,selenium,webdriver,Selenium,Webdriver,作为项目的一部分,我尝试使用Selenium 2实现自动化。我正面临以下问题 如何使用Selenium双击web元素 如何右键单击web元素以从弹出菜单中选择项目 双击元素有两种方法: 使用DefaultActionSequenceBuilderclass IActionSequenceBuilder action = new DefaultActionSequenceBuilder(driver); action.DoubleClick(element).Build().Perform();

作为项目的一部分,我尝试使用Selenium 2实现自动化。我正面临以下问题

  • 如何使用Selenium双击web元素

  • 如何右键单击web元素以从弹出菜单中选择项目

  • 双击元素有两种方法:

    • 使用
      DefaultActionSequenceBuilder
      class

      IActionSequenceBuilder action = new
      DefaultActionSequenceBuilder(driver);
      action.DoubleClick(element).Build().Perform();
      
      ISelenium selenium=new WebDriverBackedSelenium(driver, driver.Url); 
      selenium.Start();
      selenium.DoubleClick("xpath=" + some_xpath);// you could use id, name, etc.
      
    • 或者使用
      WebDriverBackedSelenium
      class

      IActionSequenceBuilder action = new
      DefaultActionSequenceBuilder(driver);
      action.DoubleClick(element).Build().Perform();
      
      ISelenium selenium=new WebDriverBackedSelenium(driver, driver.Url); 
      selenium.Start();
      selenium.DoubleClick("xpath=" + some_xpath);// you could use id, name, etc.
      
  • ISelenium
    界面中有ContextMenu方法可以用来模拟右击。例如:

    ISelenium selenium=new WebDriverBackedSelenium(driver, driver.Url);
    selenium.Start();
    selenium.ContextMenu("xpath=" + some_xpath);// you could use id, name, etc.
    

  • 双击

    WebElement ele = driver.findelement(By.id("id_of_element"));
    
    Actions action = new Actions(driver)
    action.doubleClick(ele).perform();
    
    WebElement ele = driver.findelement(By.id("id_of_element"));
    
    Actions action = new Actions(driver)
    action.contextClick(ele).build().perform();
    
    右键单击

    WebElement ele = driver.findelement(By.id("id_of_element"));
    
    Actions action = new Actions(driver)
    action.doubleClick(ele).perform();
    
    WebElement ele = driver.findelement(By.id("id_of_element"));
    
    Actions action = new Actions(driver)
    action.contextClick(ele).build().perform();
    
    如果您想在执行右键单击后打开的弹出窗口上使用第二个选项,可以使用下面的代码

    action.contextClick(ele).sendKeys(Keys.ARROW_DOWN).sendKeys(Keys.ARROW_DOWN).build().perform();
    

    您使用的是哪种编程语言?Java、C#还是什么?