Python 2.7 Selenium - 如何获取网页上的所有元素?

Python 2.7 Selenium - How to get all elements on a webpage?

from selenium import webdriver

fp = webdriver.FirefoxProfile('')
driver = webdriver.Firefox(firefox_profile=fp)
driver.set_window_size(1400, 1000)
driver.get('')

def get_list_of_all_elements(self):
    list_of_elements = self.driver.find_elements_by_xpath('//*')

    for ele in list_of_elements:
        print ele

我希望我的代码打印出页面上的元素,该代码可以正常工作,只是它没有打印出任何内容,我不知道为什么。更具体地说,理想情况下我不想要页面上的每个元素,只需要一组我使用 driver.find_element_by_xpath("//img[@title='']") 定位的可能图像标题因图像而异,并且它们没有 class/type/etc 所以我必须使用 xpath 或 css 选择器。任何帮助表示赞赏 =).

您可能需要通过显式等待为其加载页面提供时间。例如,您可以等待至少一个 img 元素出现在页面上:

from selenium import webdriver
from selenium.webdriver.common.by import By
from selenium.webdriver.support.ui import WebDriverWait
from selenium.webdriver.support import expected_conditions as EC


WebDriverWait(driver, 10).until(
    EC.presence_of_element_located((By.TAG_NAME, "img"))
)

list_of_elements = self.driver.find_elements_by_css_selector('img[title]')
# ...