Python 查找URL的总数

Python 查找URL的总数,python,selenium-webdriver,xpath,webdriverwait,mousehover,Python,Selenium Webdriver,Xpath,Webdriverwait,Mousehover,我用python编写脚本来获取多个URL。在控制台中打印多个URL,但我希望在控制台中打印多个URL时,显示URL的总数 from selenium import webdriver from selenium.webdriver.common.by import By import time driver = webdriver.Chrome(executable_path="C:\Program Files\Python39\libs\chromedriver.exe"

我用python编写脚本来获取多个URL。在控制台中打印多个URL,但我希望在控制台中打印多个URL时,显示URL的总数

from selenium import webdriver
from selenium.webdriver.common.by import By
import time

driver = webdriver.Chrome(executable_path="C:\Program Files\Python39\libs\chromedriver.exe")
driver.maximize_window()
url = ("https://www.libertybooks.com/")
driver.get(url)

driver.implicitly_wait(10)
time.sleep(5)

button = driver.find_element_by_xpath('//a[@class="cc-btn cc-allow"]').click()
Non_fiction = driver.find_element_by_xpath('//ul/li[2][@class="top_level dropdown"]/a').click()

for i in range(30):
 multiple_urls = driver.find_element_by_xpath('//img[@class="img-responsive reg-image"]').get_attribute('src')
 print(multiple_urls)

代码的最后一部分需要进行一些修改:

在:

xpath
'//img[@class=“img responsive reg image”]
引用了多个图像,因此您应该使用一个函数来获取这些图像的列表,即“driver.find_elements\u by_xpath”而不是“driver.find_element\u by_xpath”,我将其用于一个元素(elements而非element

因此,您需要将该零件修改为:

multiple_urls = driver.find_elements_by_xpath('//img[@class="img-responsive reg-image"]')
现在,您可以通过以下方式获得图像的数量:

print(len(multiple_urls))
然后,通过以下方式打印URL:

for url in multiple_urls:
    print(url.get_attribute('src'))

要计算指向元素的URL总数,文本为非虚构的,可以使用以下方法:

  • 代码块:

    driver.get("https://www.libertybooks.com/")
    WebDriverWait(driver, 20).until(EC.element_to_be_clickable((By.XPATH, "//a[@class='cc-btn cc-allow']"))).click()
    ActionChains(driver).move_to_element(WebDriverWait(driver, 20).until(EC.element_to_be_clickable((By.XPATH, "//li[@class='top_level dropdown']//a[contains(., 'Non Fiction')]")))).perform()
    print(len(WebDriverWait(driver, 20).until(EC.visibility_of_all_elements_located((By.XPATH, "//li[@class='top_level dropdown']//a[contains(., 'Non Fiction')]//following::div[1]//ul[contains(@class, 'list-unstyled')]//ul//a")))))
    
  • 控制台输出:

    34
    
你甚至用谷歌搜索过这个问题吗?
34