Вместо явных sleep
, вам следует дождаться элемента:
from selenium import webdriver as wd
from selenium.webdriver.support import expected_conditions as EC
import pytest
import time
Chrome=wd.Chrome(executable_path=r"C:\Chrome\chromedriver.exe")
Firefox=wd.Firefox(executable_path=r"C:\geckodriver\geckodriver.exe")
class TestLogin():
@pytest.fixture()
def setup1(self):
browsers = [Chrome, Firefox]
for i in browsers:
self.driver = i
i.get("https://www.python.org")
yield
self.driver.quit()
def test_Python_website(self, setup1):
wait = WebDriverWait(self.driver, 10)
downloads = wait.until(EC.element_to_be_clickable(By.ID, "downloads"))
downloads.click()
Примечание: вы, вероятно, захотите self.driver.quite()
, так как это закроет окно и приведет к закрытию процесса браузеравниз также. Вызов self.driver.close()
только закроет окно, но оставит процесс firefox.exe или chrome.exe запущенным в памяти после завершения теста.