#python #selenium #selenium-webdriver
#python #селен #selenium-webdriver
Вопрос:
У меня есть две формы на одной странице, как показано ниже
<form method="get">
<input type="submit">
</form>
<form method="post">
<input type="submit">
</form>
Я могу получить последнее поле ввода, например
//input[last()]
Мне нужно отслеживать поле ввода, если это ввод формы методом post.
Ответ №1:
Попробуйте следовать xpath:
.find_element_by_xpath('//form[@method="post"]//input')
Или селектор css выглядит лучше:
.find_element_by_css_selector('form[method="post"] > input')
Ответ №2:
Вы можете получить список форм, используя XPath. Затем извлеките его атрибут метода, как показано ниже:
//form/[@method='post']
Как только у вас будет форма, вы можете получить потомка, как показано ниже:
//form/descendant::input[@type='submit']
Это должно вернуть вам значение.