Без нажатия, если вы хотите пройти все элементы.затем
Получите следующий текст.Это показывает, что он содержит 466 результатов.
401-466 из 466 результатов
Таким образом, ваш первый URL будет
?offset=0&count=100
, второй будет
?offset=100&count=100
Третий
?offset=200&count=100
четвертый
?offset=300&count=100
и окончательный
?offset=400&count=100
Вы можете сделать математику.
Однако, если вы хотитещелкните опцию выпадающего меню, затем.
xpath = "//div[@data-test='select-container']"
wait.until(EC.visibility_of_element_located((By.XPATH, xpath)))
wait.until(EC.element_to_be_clickable((By.XPATH, xpath)))
webDriver.find_element_by_xpath(xpath).click()
После этого и добавляется новый элемент div
, который имеет span
для ваших параметров.HTML-код, которым вы поделились, это не связано.
<div class="Pt(5px) Pb(5px) Pos(a) End(0px) Z(10) Bgc(#fff) Bd Bdc($c-fuji-grey-c) Bdrs(2px) Bxsh($boxShadow) Whs(nw)" data-test="showRows-select-menu">
<div class="Ta(start) Px(20px) Py(10px) Cur(p) Bgc($pillBgBlue):h Fz(s)" data-value="25">
<span>Show 25 rows</span>
</div>
<div class="Ta(start) Px(20px) Py(10px) Cur(p) Bgc($pillBgBlue):h Fz(s)" data-value="50">
<span>Show 50 rows</span>
</div>
<div class="Ta(start) Px(20px) Py(10px) Cur(p) Bgc($pillBgBlue):h Fz(s) Fw(b)" data-value="100">
<span>Show 100 rows</span>
</div>
</div>
Итак, что вам нужно сделать, после нажатия на link
вам нужно подождать, пока этот элемент будет добавлен в ваш html.
xpath = "//div[@data-test='showRows-select-menu']"
elem = wait.until(EC. presence_of_element_located((By.XPATH, xpath)))
total_dropdown = len(driver.find_elements_by_xpath("//div[@data-test='showRows-select-menu']/div")
driver.find_elements_by_xpath("//div[@data-test='showRows-select-menu']/div[total_dropdown+1]/span").click()
Я не тестировал код, однако я думаю, что вы поняли идею.