簡體   English   中英

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='']")標題隨圖像而有所不同,而且他們沒有類/類型/等,所以我要么不得不使用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]')
# ...

暫無
暫無

聲明:本站的技術帖子網頁,遵循CC BY-SA 4.0協議,如果您需要轉載,請注明本站網址或者原文地址。任何問題請咨詢:yoyou2525@163.com.

 
粵ICP備18138465號  © 2020-2024 STACKOOM.COM