Я пытаюсь удалить динамический контент с веб-страницы.На странице отображаются 10 первых элементов, а затем я должен нажать кнопку «Далее», чтобы получить доступ к следующим 10 элементам и так далее.Нажатие кнопки работает отлично.Однако после этого он возвращает только пустые списки после нажатия кнопки.
Я хотел бы получить содержимое следующего элемента:
//*[@id="bt-collapse-442112-slider"]/div[1]/div/div/div[1]/table/tbody/tr[1]/td[3]/div/h3
Я заметил, что первый div имеетатрибут «data-currenttslidecount», который вначале равен «10», но добавляется 10 при каждом нажатии кнопки.
Мой исходный код выглядел так:
> for a in range(100):
> WebDriverWait(driver, mywaits).until(EC.presence_of_element_located((By.XPATH,
> '//*[@id="bt-collapse-442112-slider"]/div[1]')))
> print(driver.find_element_by_xpath('//*[@id="bt-collapse-442112-slider"]/div[1]/div/div/div[1]/table/tbody/tr[1]/td[3]/div/h3').text)
> WebDriverWait(driver, mywaits).until(EC.element_to_be_clickable((By.XPATH,
> '//*[@id="bt-collapse-442112-slider"]/div[1]/button[2]')))
> button = driver.find_element_by_xpath('//*[@id="bt-collapse-442112-slider"]/div[1]/button[2]')
> button.click()
> button_count += 1
> print(button_count) driver.close()
Попытка найтиРешение, которое я обнаружил, что часто эта проблема возникает, когда контент внедряется в iframes, и что нужно переключать кадры для получения динамического контента.Однако, в моем случае, кажется, что iframe отсутствует.
Кроме того, я попытался использовать find_element_by_css_selector
вместо by_xpath, потому что я думал, что могу получить доступ к div, как этот, или, возможно, даже циклически пересчитать количество слайдов.Однако `
find_element_by_css_selector(div[data-currentslidecount="10")
вызвал синтаксическую ошибку.Я не нашел решения в Интернете для этого конкретного селектора CSS, а также, я не очень надеюсь, что это будет решением моей проблемы.
Редактировать:
Вот HTML:
<div class="bt-slider row slick-initialized slick-slider" data-allitemcount="4184" data-currentslidecount="10"><button type="button" class="slick-prev slick-arrow slick-disabled" aria-disabled="true" style="display: block;"><span class="bab-slick-arrow-text">Zurück</span></button>
<div class="slick-list draggable">
<div class="slick-track" style="opacity: 1; width: 2264px; left: 0px;">
<div class="bt-slide col-xs-12 bt-standard-content slick-slide slick-current slick-active" data-slick-index="0" aria-hidden="false" style="width: 1132px;" tabindex="-1">
<table class="table bt-table-data">
<thead>
<tr>
<th>
<p>Veröffentlichung</p>
</th>
<th>
<p>Sitzung</p>
</th>
<th>
<p>Beschreibung</p>
</th>
</tr>
</thead>
<tbody>
<tr>
<td data-th="04.02.2019">
<p>
04.02.2019<br>Montag</p>
</td>
<td data-th="Sitzung">
<p>19/78</p>
</td>
<td data-th="Beschreibung">
<div class="bt-documents-description">
<h3>
78. Sitzung, 19. Wahlperiode, 01.02.2019</h3>