Локатор не найден в каркасе робота для Click Button - PullRequest
0 голосов
/ 10 мая 2018

Я хочу нажать кнопку "Создать учетную запись" на основе робота в RIDE, используя следующие ключевые слова

  1. Нажмите кнопку id = SubmitCreate
  2. Click Button class = btn btn-кнопка по умолчанию button-medium exclusive
  3. Нажмите кнопку xpath = // * [@ id = "SubmitCreate"]

Выше локатор не найден на консоли отображается ошибка.

Веб-сайт ссылка :

Примечание: те же скрипты также работают в браузере Google Chrome. Он не работает в браузере Firefox (версия: 59.0.3).

Метки:

<button class="btn btn-default button button-medium exclusive" type="submit" id="SubmitCreate" name="SubmitCreate">
							<span>
								<i class="icon-user left"></i>
								Create an account
							</span>
						</button>

Не могли бы вы дать решение. Заранее спасибо.

Ответы [ 4 ]

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

@ Суджит Это не проблема локатора. Это проблема версии браузера. Я использовал FireFox версии 56.0 и драйвер любого geckodriver от v0.18.0 до v0.20.1. Эта конфигурация отлично работает мой сайт.

Вы можете попробовать эту конфигурацию. Это может быть полезно для вас.

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

Попробуйте этот xpath

//button[@class='btn btn-default button button-medium exclusive']//following::span[1]

Попробуйте этот xpath тоже

 //button[@type='submit' and @name='SubmitCreate']

Как это

driver.findElement(By.xpath("//button[@class='btn btn-default button button-medium exclusive']//following::span[1]")).click();

Полный код выглядит так:

// Открыть браузер

System.setProperty("webdriver.gecko.driver", "C:/Users/sankalp.gupta/Desktop/JAVASELN/geckodriver.exe");
WebDriver driver = new FirefoxDriver();
driver.get("file:///C:/Sankalp/test.html");
driver.manage().timeouts().implicitlyWait(10, TimeUnit.SECONDS);
driver.findElement(By.xpath("//button[@type='submit' and @name='SubmitCreate']")).click();
0 голосов
/ 10 мая 2018

Попробуйте это Xpath , я проверил это с моей стороны, и он работает нормально:

//input[@name='back']/following-sibling::button[@name='SubmitCreate']

В код вы можете использовать его так:

public static void main(String[] args) throws InterruptedException {

            System.setProperty("webdriver.gecko.driver", "F:\\Automation\\geckodriver.exe");
            driver = new FirefoxDriver();
            driver.manage().window().maximize();
            driver.get("http://automationpractice.com/index.php?controller=authentication&back=my-account");
            WebDriverWait wait = new WebDriverWait(driver, 10);
            wait.until(ExpectedConditions.visibilityOfElementLocated(By.xpath("//input[@name='back']/following-sibling::button[@name='SubmitCreate']")));
            driver.findElement(By.xpath("//input[@name='back']/following-sibling::button[@name='SubmitCreate']")).click();      
    }
0 голосов
/ 10 мая 2018

В соответствии с вашим HTML-кодом вы можете использовать следующую Стратегию локатора :

Click Button xpath="//button[@class='btn btn-default button button-medium exclusive' and @id='SubmitCreate']/span[contains(.,'Create an account')]"
Добро пожаловать на сайт PullRequest, где вы можете задавать вопросы и получать ответы от других членов сообщества.
...