Python 如何在selenium中计算2个或更多页面中的所有元素?

Python 如何在selenium中计算2个或更多页面中的所有元素?,python,selenium,selenium-webdriver,Python,Selenium,Selenium Webdriver,问题是我无法在Selenium中正确计算2个网页上的所有元素 pages = driver.find_elements(By.CLASS_NAME, "page") #getting list of pages for x in pages: #loop through this list x.click() #click on page number pric

问题是我无法在Selenium中正确计算2个网页上的所有元素

pages = driver.find_elements(By.CLASS_NAME, "page") #getting list of pages
for x in pages:                              #loop through this list
    x.click()                                #click on page number
    prices += driver.find_elements(By.CLASS_NAME, "final-price") #addition 1pg and 2pg elements 
print(len(prices))
结果是错误的:它将1pg与1pg相加,而不是1pg与2pg相加。 尝试插入等待-没有帮助:(
我想指出的是,页面没有重新加载,只需向上滚动并在单击第2页后显示新结果,它必须使用ajax。

您可以使用请求和bs4库来废弃网站

例如:

a) 我将计算一个站点中有多少链接:

b) 我将提取每个链接的href值

import requests, bs4

my_request = requests.get('https://www.bellezaculichi.com')
# request one page

my_request.raise_for_status()
# check for error

my_html = bs4.BeautifulSoup(my_request.text)
# parse site

my_links = my_html.select('a')
#stores all links in list my_links

total_links = len(my_links)
# how many links do i found

print(total_links)
# show how many links


for i in range(total_links):
    my_links[i]["href"]
使用bs4,您可以计算网页中的任何元素

你可以数一数有多少个div,p或a

使用bs4,您可以按ID对网页中的任何元素进行计数

使用bs4,您可以按类统计网页中的任何元素


使用bs4,您可以按属性对网页中的任何元素进行计数。

您需要确保单击网页不会重新加载整个网页,如果这样,可能会出现问题谢谢!我想指出的是,页面并没有重新加载,只需向上滚动并显示新结果,然后在页面上发布链接。我的猜测是您一直在等待元素出现,等等。但是如果元素在刷新之前和之后都存在,那么等待很可能在刷新之前完成,这就是为什么您两次得到1的原因。