У меня есть такие:
from selenium import webdriver
from selenium.common.exceptions import NoSuchElementException
from selenium.webdriver.common.keys import Keys
Настройка браузера через
browser = webdriver.Firefox()
browser.get(loginURL)
Однако иногда я делаю
browser.switch_to_frame("nameofframe")
И это не сработает (иногда работает, иногда нет).
Я не уверен, так ли это, потому что Selenium на самом деле не ожидает загрузки страниц перед тем, как выполнить остальную часть кода или что-то еще. Есть ли способ принудительной загрузки веб-страницы?
Потому что иногда я делаю что-то вроде
browser.find_element_by_name("txtPassword").send_keys(password + Keys.RETURN)
#sends login information, goes to next page and clicks on Relevant Link Text
browser.find_element_by_partial_link_text("Relevant Link Text").click()
И большую часть времени он будет отлично работать, но иногда я получаю сообщение об ошибке, когда не может найти «Соответствующий текст ссылки», потому что он не может «увидеть» его или что-то подобное.
Кроме того, есть ли лучший способ проверить, существует элемент или нет? То есть, как лучше всего обращаться:
browser.find_element_by_id("something")
Когда этот элемент может существовать или не существовать?