Что происходит, так это то, что на странице есть множество ссылок, большинство из которых при нажатии переходят на другую страницу, где я автоматически заполнил данные и отправил форму для проверки создания отчета.
Однако есть три отчета, при нажатии на которые запускается некоторый JS, и через несколько секунд на той же странице отображается новая ссылка для загрузки отчета.
Как мне щелкнуть эту ссылку?
Я считываю все ссылки на странице в список веб-элементов, а затем просматриваю их в поисках того места, где href содержит javascript: to void[0];
Затем я пытаюсь вызвать метод click для этого элемента в списке, allLinks.get(i).click();
Это то же самое, что я делаю для других отчетов, и он работает нормально, но в этих трех я получаю ошибку
"Элемент в настоящее время не виден и поэтому с ним невозможно взаимодействовать"
Используя Firebug, если я проверяю ссылку, которая запускает JS, он говорит:
Код: Выделить всё
[url=javascript:void[0];]CSV[/url]
На странице содержится множество ссылок с надписью CSV, поэтому я не могу просто использовать текст ссылки.
ОБНОВЛЕНИЕ:
У меня только что возникла мысль об этом, которая может помочь. Когда я впервые перехожу на страницу со ссылками на отчеты, там будет написано «Заказать отчеты». Мне нужно щелкнуть заголовок, который затем вызывает функцию JS, чтобы развернуть этот раздел и отобразить ссылки.
Отчеты работают, потому что, когда я захожу на эту страницу, я просто читаю все hrefs источника страницы и делаю driver.get(reportList.get(i); так что я на самом деле не нажимаю на ссылку.
Я добавил ссылку, чтобы получить xpath заголовка, и щелкаю по ней, но затем, когда я пытаюсь щелкнуть ссылку с href или javascript: void, я все равно получаю сообщение об ошибке, говорящее, что это не так видно.
Подробнее здесь: https://stackoverflow.com/questions/163 ... criptvoid0
Мобильная версия