#java #selenium #script
Вопрос:
У меня есть одна страница, где мне нужно загрузить файл xlsx 10 раз. у меня есть разные кнопки для каждой загрузки файла. Я написал код для нажатия на элемент. но это работает только один раз. когда я вызываю ту же функцию для второй загрузки. это не работает.
public void safeJavaScriptClick(WebElement element) throws Exception { try { if (element.isEnabled() amp;amp; element.isDisplayed()) { System.out.println("Clicking on element with using java script click"); ((JavaScript Executor) SeleniumDriver.getDriver()).executeScript("arguments[0].click();", element); } else { System.out.println("Unable to click on element"); } } catch (StaleElementReferenceException e) { System.out.println("Element is not attached to the page document " e.getStackTrace()); } catch (NoSuchElementException e) { System.out.println("Element was not found in DOM " e.getStackTrace()); } catch (Exception e) {`enter code here` System.out.println("Unable to click on element " e.getStackTrace()); } }
Комментарии:
1. в чем заключается ошибка, которую вы получаете?
2. Привет. Я не получаю никаких ошибок. Я хочу повторно использовать вышеуказанную функцию 10 раз. но это работает только один раз. второй раз не делаю щелчок
3. и у вас нет выхода ?
Ответ №1:
Какое сообщение об ошибке вы получаете? Я предполагаю, что вы продолжаете ссылаться на первый элемент для загрузки.
((JavaScript Executor) SeleniumDriver.getDriver()).executeScript("arguments[0].click();", element);
А именно аргумент[0]… Это может быть идея, но вы проверяли кнопки на каждой странице? Я предполагаю, что все они указывают на одну и ту же функцию.
Комментарии:
1. Я не получаю никаких ошибок. У меня есть страница, где у меня есть 10 кнопок загрузки файла. в каждой кнопке мне нужно загрузить другой файл. Поэтому я написал эту функцию и просто вызываю все остальные 9 кнопок загрузки файла. таким образом, эта функция работает один раз. я не могу повторно использовать. помогите мне, какие изменения я должен внести в код, чтобы эту функцию можно было повторно использовать для других 9 кнопок . Спасибо
2. Да, я вызывал одну и ту же функцию два раза, но она все равно не работала. Я не получаю никаких ошибок. это просто загрузка файла только один раз
Ответ №2:
Это было решено с помощью
new Actions(SeleniumDriver.getDriver()).click(UploadFiles.BSR_ChooseFile).build().perform();
ЗагружАемые файлы.BSR_ChooseFile-Xpath