Поиск элемента с помощью «find_element_by_xpath» - PullRequest
0 голосов
/ 16 февраля 2019

Я пытаюсь найти элемент, используя «find_element_by_xpath», но получаю сообщение об ошибке «Не удается найти элемент».

Я также пытался дать неявное ожидание, но все еще не смог найти элемент.

HTML-файл выглядит следующим образом:

<div class="actions">
<input type="submit" value="Save" data-action="save">
</div> 
<input type="hidden" name=actionId>    

Я пробовал ниже строку кода:

driver.implicitly_wait(10)

driver.find_element_by_xpath("//input[@type='submit']")

driver.find_element_by_xpath("//class[@name='
actions']/input[@type='submit']"

driver.find_element_by_xpath("//form[@id='form- 
submit']/input[@type='submit']")

Все вышеупомянутые попытки показывают ошибку "Нет такого элемента: Невозможноlocate element "

Я пытался выполнить" execute_script "для обработки скрытого элемента,

element = driver.find_element_by_xpath("//input[@type='submit']")
driver.execute_script("arguments[0].click();", element)

Это не дает никакой ошибки, но я не уверен, нажимает ли она на нужную кнопку какоткрывается новая веб-страница с сообщением «Страница, которую вы пытаетесь найти, не может быть достигнута».

1 Ответ

0 голосов
/ 16 февраля 2019

Ваш xpath, кажется, в порядке, пожалуйста, проверьте, находится ли элемент внутри iframe, и если да, то сначала переключитесь на iframe, а затем вы можете работать с элементом.

Для переключения на iframe вы можете использовать: driver.switch_to_frame(driver.find_element_by_tag_name('iframe')) и затем вы можете работать с элементом, а для возврата к содержимому по умолчанию вы можете использовать driver.switch_to_default_content()

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