Может ли кто-нибудь помочь показать, почему это не работает?moveToElement() для выполнения действия наведения
Страница объекта:
import org.openqa.selenium.WebDriver;
import org.openqa.selenium.WebElement;
import org.openqa.selenium.interactions.Actions;
import org.openqa.selenium.support.CacheLookup;
import org.openqa.selenium.support.FindBy;
import org.openqa.selenium.support.How;
import org.openqa.selenium.support.PageFactory;
public class NavBarPO {
WebDriver driver;
Actions action;
public NavBarPO(WebDriver driver){
this.driver = driver;
PageFactory.initElements(driver, this);
action = new Actions(driver);
}
@CacheLookup
@FindBy(how = How.CSS, using = "li.menu-item.menu-item-type-taxonomy.menu-item-object-wpsc_product_category.menu-item-has-children.has_children > a")
private WebElement product_Category;
public void hover_Product_Category(){
action.moveToElement(product_Category);
}
}
Тест:
public class OpenDemos {
@BeforeTest
public void Initialize() {
System.setProperty("webdriver.chrome.driver", "C:/Users/u6028938/Documents/Selenium Java/chromedriver.exe");
System.setProperty("webdriver.gecko.driver", "C:/Users/u6028938/Documents/Selenium Java/geckodriver.exe");
}
@Test
public void SecondTest() throws InterruptedException {
WebDriver driver = new FirefoxDriver();
NavBarPO nav = new NavBarPO(driver);
driver.get("http://www.store.demoqa.com");
Thread.sleep(3000);
nav.Hover_Product_Category();
System.out.println("Successfully Executed Test!");
Thread.sleep(10000);
driver.quit();
}
}
nav.hover_Product_Category()
просто ничего не делает, даже не ошибка. Когда я использую .click()
вместо .moveToElement()
, элемент кликается, и отображается выпадающее меню, которое я хочу, поэтому селектор верен.
Я включил '.Произвести()' и теперь испытание бросает исключение 'org.openqa.selenium.UnsupportedCommandException: POST/сессия/d33e2dc4-2b3b-4f1b-a22d-20673c2445b7/MoveTo не соответствует известной command' –
@GabrielAbel Где происходит исключение? на 'action.moveToElement (product_Category) .perform();'? – Guy
Точно @Guy. Когда я включаю '.perform()'. Когда это было только «action.moveToElement (product_Category)», это исключение не произошло. –