Как получить доступ к кнопке внутри контейнера <div>, используя селен в python - PullRequest
0 голосов
/ 25 декабря 2018

Я хочу получить доступ к кнопке внутри тега 'div', но проблема в том, что есть два тега 'div' с одинаковым именем класса, и один из них имеет кнопку.Итак, как определить, какая из них имеет кнопку и получить к ней доступ.До сих пор я пытался решить, но я всегда получаю «Невозможно найти элемент» для кнопки.

Один:

div class="weEq5" style="will-change; width;"

Другой:

div class="weEq5"
    button class="_35EW6"

Ответы [ 2 ]

0 голосов
/ 26 декабря 2018

Для доступа к кнопке внутри <div> вы можете использовать любую из стратегий локатора :

  • Использование CSS_SELECTOR:

    myElement = driver.findElement(By.cssSelector("div[class]:not(style)>button"))
    
  • Использование XPATH:

    myElement = driver.find_element_by_xpath("//div[@class and not (@style)]/button")
    
0 голосов
/ 25 декабря 2018

Чтобы найти div содержит button, сначала вам нужно выбрать button, а затем перейти к родительскому элементу, который div

driver.find_elements_by_xpath('//button/parent::div[@class="weEq5"]')
# or
driver.find_elements_by_xpath('//button[@class="_35EW6"]/parent::div[@class="weEq5"]')
...