Попытка навести курсор на меню и нажать на ссылку в подменю, но безуспешно - PullRequest
0 голосов
/ 21 мая 2018

Я учусь наводить курсор мыши на меню и нажимать на ссылку в его подменю.

Сценарий - перейти по URL-адресу "https://www.amazon.in",, наведите курсор на" Hello Sign in "изатем нажмите на ссылку «Начать здесь».

Я могу навести курсор на «Привет, войдите в систему», используя moveToElement (), и открывается подменю, но не могу нажать на ссылку «Начать здесь».

Вот мой код.

WebElement signUp = driver.findElement(By.id("nav-link-yourAccount"));
Actions action = new Actions(driver);
action.moveToElement(signUp).build().perform();

WebElement startHere = 
wait.until(ExpectedConditions.visibilityOfElementLocated(By.linkText("Start here")));
startHere.click();

Ответы [ 3 ]

0 голосов
/ 22 мая 2018

Пожалуйста, попробуйте приведенный ниже модифицированный код, и он работает как положено.Сначала вы можете найти нового клиента Div, а затем непосредственно получить доступ к ссылке здесь, как показано ниже.

WebElement signUp = driver.findElement(By.id("nav-link-yourAccount"));
Actions action = new Actions(driver);
action.moveToElement(signUp).build().perform();

WebElement newCustomer=driver.findElement(By.id("nav-flyout-ya-newCust"));
newCustomer.findElement(By.xpath(".//a")).click();
0 голосов
/ 22 мая 2018

Чтобы получить доступ к URL-адресу https://www.amazon.in, наведите указатель мыши на Hello. Войдите в систему , а затем нажмите на ссылку Начните здесь. Вы должны вызвать WebDriverWait дляэлемент с текстом Hello. Чтобы его увидеть, войдите в систему , затем Наведите указатель мыши на него, а затем вызовите WebDriverWait для элемента с текстом Начните здесь. для возможности нажатия , и вы можете использовать следующее решение:

  • Кодовый блок:

    System.setProperty("webdriver.gecko.driver", "C:\\Utility\\BrowserDrivers\\geckodriver.exe");
    WebDriver driver = new FirefoxDriver();
    driver.get("https://www.amazon.in/");
    WebElement signUp = new WebDriverWait(driver, 10).until(ExpectedConditions.visibilityOfElementLocated(By.id("nav-link-yourAccount")));
    new Actions(driver).moveToElement(signUp).build().perform();
    new WebDriverWait(driver, 10).until(ExpectedConditions.elementToBeClickable(By.linkText("Start here."))).click();
    
  • Снимок браузера:

amazon_in

0 голосов
/ 22 мая 2018

Текст ссылки включает точку в конце, вы пропустили ее в своем коде, Попробуйте By.linkText("Start here.") или By.partialLinkText("Start here")

Добро пожаловать на сайт PullRequest, где вы можете задавать вопросы и получать ответы от других членов сообщества.
...