I am using Python Selenium to crawl some data. On the respective site I have 10 entries per page. But I want to see 100 elements per page, so I have to change that:
But as the "dropdown" is a hidden svg-element, I am not able to use the standard XPATH-approach. I tried nearly everything, but I don't find the correct term:
#click on the small triangle:
WebDriverWait(driver, 10).until(EC.element_to_be_clickable((By.XPATH, '//*[@id="ember599"]/*[name()="svg"]'))).click()
#click on 100 elements
driver.find_element_by_xpath('//*[@id="ember5683"]/div/ul/li[3]/*[name()="svg"').click()
I already figured out, that I have to use F8 in Chrome browser for even being able to get the following HTML code:
<div id="ember593" class="ads-table__page-size-select ember-view ads-table__page-size-select" data-test-ads-table-footer-page-size-select="">
<div id="ember594" class="artdeco-dropdown artdeco-dropdown--is-open artdeco-dropdown--placement-top artdeco-dropdown--justification-left ember-view">
<button aria-expanded="true" id="ember595" class="page-size-select__dropdown-trigger artdeco-dropdown__trigger artdeco-dropdown__trigger--placement-top ember-view" type="button" tabindex="0"> <span data-test-page-size-select-dropdown-trigger="">
100 Zeilen pro Seite zeigen
</span>
<li-icon aria-hidden="true" type="caret-filled-down-icon" class="artdeco-dropdown__trigger-icon" size="small"><svg xmlns="http://www.w3.org/2000/svg" viewBox="0 0 16 16" data-supported-dps="16x16" fill="currentColor" width="16" height="16" focusable="false">
<path d="M8.8 10.66L14 5.12a.07.07 0 00-.07-.12H2.07a.07.07 0 00-.07.12l5.2 5.54a1.1 1.1 0 001.6 0z"></path>
</svg></li-icon>
</button>
<div class="cm-dropdown page-size-select__dropdown-content">
<div tabindex="-1" aria-hidden="false" id="ember596" class="artdeco-dropdown__content artdeco-dropdown__content--is-open artdeco-dropdown--is-dropdown-element artdeco-dropdown__content--justification-left artdeco-dropdown__content--placement-top ember-view" data-artdeco-is-focused="true"><div class="artdeco-dropdown__content-inner">
<ul>
<li class="page-size-select__dropdown-item" data-test-page-size-select-item="15">
<div id="ember632" class="artdeco-dropdown__item artdeco-dropdown__item--is-dropdown ember-view" tabindex="0"><!----> 15
</div> </li>
<li class="page-size-select__dropdown-item" data-test-page-size-select-item="50">
<div id="ember633" class="artdeco-dropdown__item artdeco-dropdown__item--is-dropdown ember-view" tabindex="0"><!----> 50
</div> </li>
<li class="page-size-select__dropdown-item" data-test-page-size-select-item="100">
<div id="ember634" class="artdeco-dropdown__item artdeco-dropdown__item--selected artdeco-dropdown__item--is-dropdown ember-view" tabindex="0"> <span class="artdeco-dropdown__a11y-text">Ausgewählt</span>
100
</div> </li>
</ul>
</div>
</div> </div>
</div></div>
Could you please help me out? I appreciate it very much!
Kind regards, T2H