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选择器。感谢任何帮助=)。
答案 0 :(得分:0)
您可能需要花时间通过引入显式等待来加载页面。例如,您可以等待至少一个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]')
# ...