Python Selenium找不到元素(结果为空)

Python Selenium cannot find an element (result empty)

这是我的python代码

1
2
elements=driver.find_elements_by_id("folder_c0fb056b-f83a-495e-9db1-dd1b19942eaa")
print(elements)

结果是[]。 同样的方法也适用于网站的其他部分,但是当我进入网站内的表格时,它无法正常工作。 我可以找到并单击这些命令行之前的一些链接。 请查看我附带的图像。 当您查看HTML2时,白框为div(在上一个附加图像(网页视图)中显示的" folder_c0fb056b-f83a-495e-9db1-dd1b19942eaa")。 其余的蓝色框是我感兴趣的区域。

1
    AE-CR Log - Open Items / All Projects

HTML

HTML2

Webpage view


如果您确定元素的ID不是通用的,则可以尝试使用以下方法:

1
2
3
4
5
elements = WebDriverWait(driver, 10).until(EC.presence_of_all_elements_located((By.XPATH,"//div[@id='folder_c0fb056b-f83a-495e-9db1-dd1b19942eaa']/div/a")))
for element in elements:
    print(element.text)
    if element.text == 'your text':
        element.click()

此代码段的主要思想是使用WebDriverWait等待至少10秒钟,直到所有元素都出现在页面上,然后才打印它们的列表。 我还建议了另一个选择器,该选择器将找到所有a链接。

注意:您必须添加一些导入:

1
2
3
from selenium.webdriver.support import expected_conditions as EC
from selenium.webdriver.support.wait import WebDriverWait
from selenium.webdriver.common.by import By