Я использую Selenium с Python для автоматического извлечения некоторых данных с наших электростанций, и прямо сейчас мне нужно щелкнуть элемент.
Проблема в том, что xpaths
элемента и изменение порядка для каждого завода, который мы отслеживаем. Единственная статическая информация - это value
, как и в третьей строке value = "T_U0
.
Я перепробовал много подходов и не смог найти решения. Я не могу использовать index или child, потому что порядок параметров меняется. Я пробовал селектор CSS безуспешно.
Вот вам несколько моих попыток ...
driver.find_element_by_xpath("//input[@value='T_U0']").click()
driver.find_element_by_css_selector("input[@data-id-sys-abbreviation='388']").click()
Я пробовал много других вещей, но просто отчаянно пробовал что-нибудь.
Что мне действительно нужно, так это find_by_value
, если есть способ сделать это, пожалуйста, дайте мне знать, если нет, пожалуйста, покажите мне, как я могу это сделать.
Мне нужно щелкнуть некоторые параметры, которые меняют порядок в соответствии с растением
Возможный дубликат Selenium - Python - значение параметра раскрывающегося меню
@ Jacobr365 могу ли я скопировать HTML из Chrome? bc Я пробовал и мог копировать только одну строку за раз, и все испортилось
Да, ты можешь. в окне проверки выберите вкладку элементов, затем щелкните блок и щелкните правой кнопкой мыши копию.
Проблема с первым xpath. Вы пытаетесь найти вход, пока вам нужна опция.
Попробуй это:
driver.find_element_by_xpath("//option[@value='T_U0']").click()
Это сработало! Спасибо, Ананд, это было так просто, и я не мог этого увидеть, еще раз спасибо!
Вы можете попробовать щелкнуть / выбрать элемент с помощью отображаемого текста. Псевдокод:
driver.find_element_by_xpath("//option[text() = "Some text"]").click()
Пожалуйста, не размещайте изображения своего кода. просто скопируйте и вставьте его и используйте кнопку формата кода.