Цепочка навигации в PlaywrightPython

Программы на Python
Ответить
Anonymous
 Цепочка навигации в Playwright

Сообщение Anonymous »

Мне не хватает чего-то фундаментального, связанного с цепочкой локаций в «Драматурге». Рассмотрим следующий фрагмент из глубины веб-страницы:
Press Here

Это работает (но не использует цепочку):
btn1 = page.locator(f'div:jss112:nth-child({tile_num}) > div > a > div:nth-child(2) > button')
btn1.click()

Мой код будет выполнять множество операций внутри этого n-го дочернего элемента, поэтому я создал ссылку на него с именем tile. Затем я захотел поискать кнопку внутри плитки. Прочитав документацию, я подумал, что следующее должно работать, но это не так. Чего мне не хватает?
tile = page.locator(f'div.jss112:nth-child({tile_num})') # get the container
btn2 = tile.filter(has=page.get_by_test_id('srp-tile-cta')) # search for button inside container
btn2.click()

Более или менее в стороне, поскольку каждый локатор также принимает функции страницы, я также подумал, что следующее может сработать, но я нигде не вижу этого шаблона в документации, поэтому я предполагаю, что есть причина, по которой это не сработает:
tile = page.locator(f'div.jss112:nth-child({tile_num})') #
btn3 = tile.locator('.srp-tile-cta') # locate by class
btn3.click()


Подробнее здесь: https://stackoverflow.com/questions/792 ... playwright
Ответить

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

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

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

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

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