Я даю драйверу элемент для сопоставления и соответствующий родительский элемент, затем я даю драйверу элемент, на который я бы хотел щелкнуть, под указанным родителем.
На рисунке у меня есть две выделенные области. Первый из которых содержит title = 'seanthejvr'
. Затем вторая выделенная область с label = "Like"
. Они оба подпадают под основной класс "Mr508"
. Как вы можете видеть, существует несколько "Mr508"
классов, каждый из которых имеет свой заголовок. Я могу использовать только заголовок. Как я могу нажать на этот конкретный ярлык для заголовка 'seanthejvr'
.
https://i.stack.imgur.com/bFU0H.png
child = driver.find_element_by_xpath("//a[contains(@title,'{}')]/ancestor::div[contains(@class, 'P9YgZ')]".format(i))
child.find_element_by_xpath("//span[@aria-label='Like']").click()
Я использовал 'P9YgZ'
, потому что это родитель, в который попадают оба элемента. Однако, когда я использую этот код, кажется, "like"
случайный набор заголовков. Вместо того, что я даю.