#python #selenium-webdriver
#python #selenium-webdriver
Вопрос:
driver.find_element_by_link_text("Yes (Enter)")
Похоже, не удается найти элемент. Сначала я должен сосредоточиться на всплывающем окне, но как?
Комментарии:
1. Можете ли вы поделиться соответствующей частью источника страницы? Сначала я должен сосредоточиться на всплывающем окне, но как? Вы что-нибудь пробовали, проводили какие-либо исследования?
Ответ №1:
driver.find_element_by_link_text("Yes (Enter)")
Во-первых, это не сработает, потому что нигде нет кнопки с этим текстом. Во-вторых, всплывающее окно в этом случае возникает в iframe.
Сначала вам нужно найти iframe и переключиться на него.
frame = driver.find_element_by_tag_name('iframe') # may need to adjust to find the _correct_ iframe
driver.switch_to.frame(frame)
Затем вам нужно будет найти соответствующий элемент в этом фрейме и выполнить эти действия
button = driver.find_element(by.FOO, ...)
button.click()
Затем вы, вероятно, захотите вернуться к контексту по умолчанию (выйти из iframe)
driver.switch_to_default_content()
Наконец: не пытайтесь использовать selenium для автоматизации reddit; это противоречит Условиям предоставления услуг. Вместо этого вы должны использовать API.
Комментарии:
1. Спасибо! Это «Да (ввод)», потому что это было не для reddit.