Python Селен - Получить Ellement с датой-rolename - PullRequest
1 голос
/ 25 апреля 2020

У меня есть следующий HTML код:

<div data-request-type="person" class="_entry _line _e _selected" id="c1055e27-0cfe-4f93-8bea-28a3421d842e" data-rolename="Member" data-isoptional="true">
<div class="_subindicator _gray">&nbsp</div>
<div class="_removePers">&nbsp;</div>
<div class="_voluntaryPers">&nbsp;</div>
<div class="_text">Member</div>
</div>

Я должен щелкнуть первый, используя .click (). Но сейчас я не знаю, как найти это с селеном. Я уже пробовал это с XPATH, но у меня есть несколько элементов с разными идентификаторами на этой странице. И идентификаторы всегда обновляются. Это не работает.

У кого-нибудь есть идея?

Я пробовал ее с множеством решений ... но ничего не работает. Мой последний - взять внутренний div с классом _text

   getAllMembers = browser.find_element_by_css_selector('td._text').get_attribute('innerHTML')

Pls Help - Как я могу сделать это с Selenium? : -)

Ответы [ 2 ]

0 голосов
/ 26 апреля 2020

Чтобы выбрать и щелкнуть элемент по его атрибуту, вы можете использовать:

from selenium import webdriver
from selenium.webdriver.support import expected_conditions as EC
from selenium.webdriver.common.by import By
from selenium.webdriver.support.ui import WebDriverWait

driver = webdriver.Firefox()
wait = WebDriverWait(driver, 10)
driver.get("https://site.tld")
xpath = "//div[@data-rolename='Member']"
el = wait.until(EC.element_to_be_clickable((By.XPATH, xpath)))
el.click()
0 голосов
/ 26 апреля 2020

Попробуйте ниже xpath:

wait = WebDriverWait(driver, 20)

wait.until(EC.element_to_be_clickable((By.XPATH, "//div[@class='_entry _line _e _selected'][@data-rolename='Member']"))).click()

Примечание: , пожалуйста, добавьте ниже импорта в ваше решение

from selenium.webdriver.support import expected_conditions as EC
from selenium.webdriver.common.by import By
from selenium.webdriver.support.ui import WebDriverWait
Добро пожаловать на сайт PullRequest, где вы можете задавать вопросы и получать ответы от других членов сообщества.
...