硒只能在检查元素之后才能找到元素

时间:2020-09-21 00:46:37

标签: python jquery selenium

我正在尝试使用硒从http://elderofziyon.com/中获取所有“ a”标签,但是硒返回一个空列表。如果检查超链接元素并在控制台jquery中键入$(“ a”)。length,则为您提供一个数字,否则$(“ a”)返回null,就像硒一样。一个硒的例子就是这样:

from selenium import webdriver
from selenium.webdriver.chrome.options import Options
options = webdriver.ChromeOptions()
driver = webdriver.Chrome(chrome_options=options)
driver.get("http://elderofziyon.com/")
cells = driver.find_elements_by_css_selector("a")
print(cells)
driver.close()
driver.quit()

有人能建议这个问题是什么,我该如何解决(对于硒还是jquery)?预先感谢。

1 个答案:

答案 0 :(得分:0)

要进入iframe并检索所有a标签。然后循环并打印所有的ahref标签。

driver.switch_to.frame(driver.find_element_by_xpath("/html/frameset/frame"))
cells = WebDriverWait(driver, 30).until(EC.presence_of_all_elements_located((By.TAG_NAME, "a")))
for cell in cells:
    print(cell.get_attribute("href"))

导入以下内容

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