Python Playwright несколько вкладок Объектная модель страницыPython

Программы на Python
Ответить Пред. темаСлед. тема
Anonymous
 Python Playwright несколько вкладок Объектная модель страницы

Сообщение Anonymous »

Использование Python Playwright и объектной модели страницы
Сценарий:
При нажатии ссылки открывается новая вкладка. Остальные операции необходимо выполнить на новой странице.
Без объектной модели страницы: мне удалось это сделать. Код ниже:
def run(playwright:Playwright) -> None:
browser = playwright.chromium.launch()
context = browser.new_context()
page= context.new_page()
page.goto(URL)
with context.expect_page as Account_setup_page:
accountSetup_link.click()
new_page = Account_setup_page.value
startaccount = new_page.locator('')

Приведенный выше код работает нормально, поскольку контекст браузера находится в том же файле кода.
Теперь используем объектную модель страницы
strong>: Нужны указания, как нам переключиться на новую вкладку?
В файле conftest.py есть контекстная ссылка:

@pytest.fixture(scope="function")
def accsetup(request,playwright)
browser=playwright.chromium.launch()
context=browser.new_context()
page=context.new_page()
page.goto(URL)
yield page
context.close()
browser.close()

Теперь в файле кода страницы:
filename: AccountSetupE2E.py
class AccountSetup:
def __init__(self,page)
self.page = page
self.username = page.locator()
self.pwd = page.locator()
self.login = page.locator()
def fillaccountdetails(self):
self.username.fill("test")
self.pwd.fill("testpwd")
self.login.click()

После успешного входа в систему нажмите ссылку accountSetup_link, чтобы открыть новую вкладку.
Я не могу придумать, как ссылаться на новую вкладку для выполнения операций по настройке учетной записи.
URL-адрес приложения открывается... но невозможно щелкнуть даже по имени пользователя. Это сработало, когда контекст не был возвращен. Только в этом сценарии мне нужно использовать новую вкладку для проверки тестового примера.
Я попробовал ниже, и это не работает:
contest.py:
@pytest.fixture(scope="function")
def accsetup(request,playwright)
browser=playwright.chromium.launch()
context=browser.new_context()
page=context.new_page()
page.goto(URL)
yield page,context
context.close()
browser.close()

filename: AccountSetupE2E.py
class AccountSetup:
def __init__(self,page,context)
self.page = page
self.context=context
self.username = page.locator()
self.pwd = page.locator()
self.login = page.locator()
self.accountSetup_link =page.locator()
with context.expect_page() as Account_setup_page:
self.accountSetup_link.click()
new_page = Account_setup_page.value
self.startaccount = new_page.locator('')

def fillaccountdetails(self):
self.username.fill("test")
self.pwd.fill("testpwd")
self.login.click()
self.startaccount .click()
TestCasefile -> Test_Accountsetup.py
class Test_accsetup:
def test_accSetup(self,accsetup):
page,context=acc_setup
acpage = acc_setup(page,context)
acpage.fillaccountdetails()



Подробнее здесь: https://stackoverflow.com/questions/791 ... ject-model
Реклама
Ответить Пред. темаСлед. тема

Быстрый ответ

Изменение регистра текста: 
Смайлики
:) :( :oops: :roll: :wink: :muza: :clever: :sorry: :angel: :read: *x)
Ещё смайлики…
   
К этому ответу прикреплено по крайней мере одно вложение.

Если вы не хотите добавлять вложения, оставьте поля пустыми.

Максимально разрешённый размер вложения: 15 МБ.

  • Похожие темы
    Ответы
    Просмотры
    Последнее сообщение
  • Python Playwright несколько вкладок Объектная модель страницы
    Anonymous » » в форуме Python
    0 Ответы
    40 Просмотры
    Последнее сообщение Anonymous
  • Python Playwright несколько вкладок модели страницы страницы
    Anonymous » » в форуме Python
    0 Ответы
    6 Просмотры
    Последнее сообщение Anonymous
  • Типизированная объектная модель CSS: используйте методы экземпляра CSSNumericValue с переменными CSS.
    Гость » » в форуме CSS
    0 Ответы
    18 Просмотры
    Последнее сообщение Гость
  • JQuery – параметр успеха Ajax как объектная функция
    Anonymous » » в форуме Jquery
    0 Ответы
    12 Просмотры
    Последнее сообщение Anonymous
  • Ошибка в Python Playwright: playwright._impl._api_types.Error: net::ERR_ABORTED at... ожидание ошибки «загрузки» Python
    Anonymous » » в форуме Python
    0 Ответы
    70 Просмотры
    Последнее сообщение Anonymous

Вернуться в «Python»