无法获取所有子项(动态加载)Selenium python

拉克希米·纳拉亚南(Lakshmi Narayanan)

这个问题已经得到解答,最简单的方法之一就是在元素内获取标签名称(如果已知)

    child_elements = element.find_elements_by_tag_name("<tag name>")

但是,对于粘贴的以下元素,在标记名称的25个实例中仅返回9个。我是JavaScript的新手,因此我无法将原因归零。在此示例中,我试图dtol元素获取标签我正在使用的代码段是

    par_element = browser.find_element_by_class_name('search-results__result-list')
    child_elements = par_element.find_elements_by_tag_name("dt")

下图显示了来自页面源的元素骨架/结构:(所有div标签的结构都相同,例如,将其展开以显示。

在此处输入图片说明

I have also tried getting the class name result-lockup__name directly, and it still returns only 9 out of the 25 instances. What could be the reason?

EDIT

Initially,all the elements were not loaded, and thus I had to scroll through the page by

    browser.execute_script('window.scrollTo(0,document.body.scrollHeight)')

When the problem occurred once again, and I was not able to figure out, I raised this question. Apparently, it looks like even the scroll is not helping, as certain elements look hidden

在此处输入图片说明

After manually scrolling through them again, keeping the code in pause, I was able to "enable" them.

在此处输入图片说明

Is this a type of mask to save sites from being scrapped? I feel now that I would probably have to scroll up in increments to reveal them all, but is there a smarter way?

KunduK

这些元素是动态加载的,您需要缓慢滚动页面以获取所有子元素。请尝试以下代码,希望它能正常工作。

element_list=[]
while True:
    browser.find_element_by_tag_name("body").send_keys(Keys.DOWN)
    time.sleep(2)
    listlen_before=len(element_list)
    par_element = browser.find_element_by_class_name('search-results__result-list')
    child_elements = par_element.find_elements_by_tag_name("dt")
    for ele in child_elements:
        if ele.text in element_list:
            continue
        else:
            element_list.append(ele.text)

    listlen_after = len(element_list)

    if listlen_before==listlen_after:
        break

本文收集自互联网,转载请注明来源。

如有侵权,请联系[email protected] 删除。

编辑于
0

我来说两句

0条评论
登录后参与评论

相关文章

来自分类Dev

迭代期间无法获取所有必要的链接-Selenium Python

来自分类Dev

迭代期间无法获取所有必要的链接-Selenium Python

来自分类Dev

Selenium获取python的所有属性

来自分类Dev

Python PhantomJS无法获取所有html

来自分类Dev

从Python中的模块动态加载所有名称

来自分类Dev

从Python中的模块动态加载所有名称

来自分类Dev

如何通过 Python 中的 Selenium Webdriver 从 HTML 标记的所有子项中提取文本

来自分类Dev

无法加载所有好友的Facebook API python

来自分类Dev

Python 和 selenium - 从网页获取所有链接

来自分类Dev

如何通过selenium python从所有页面获取数据

来自分类Dev

Python / Selenium-无法打印所有段落的文本内容

来自分类Dev

使用Selenium Python无法获取没有标签的文本

来自分类Dev

无法使用 Python WebScraping 从列表中获取所有标题

来自分类Dev

Python:无法使用BeautifulSoup获取所有<span>标记中的所有文本

来自分类Dev

递归列出Python中的所有文件,无法获取所有文件

来自分类Dev

Python Selenium无法加载整页源代码

来自分类Dev

使用查询selenium python获取所有没有div的body元素

来自分类Dev

如何使用Selenium和Python获取具有动态ID的表

来自分类Dev

使用 Python 从表中获取所有数据时无法获取 json 值

来自分类Dev

为什么python库“ python-pptx”无法获取所有选择数据?

来自分类Dev

如何使用python和selenium IDE获取网页上的所有链接

来自分类Dev

如何使用Selenium Python中的一个类从任何网站获取所有数据

来自分类Dev

python,selenium:无法从javascript获取原始html

来自分类Dev

Python Selenium driver.get()无法打开我的所有URL

来自分类Dev

Python,Selenium,下载所有MIME类型

来自分类Dev

可以请求python库强制页面在存储该页面的内容之前加载所有javascript动态内容

来自分类Dev

可以请求python库强制页面在存储该页面的内容之前加载所有javascript动态内容

来自分类Dev

无法使用python-BeautifulSoup获取标签下的所有节点

来自分类Dev

无法使用python-BeautifulSoup获取标签下的所有节点

Related 相关文章

  1. 1

    迭代期间无法获取所有必要的链接-Selenium Python

  2. 2

    迭代期间无法获取所有必要的链接-Selenium Python

  3. 3

    Selenium获取python的所有属性

  4. 4

    Python PhantomJS无法获取所有html

  5. 5

    从Python中的模块动态加载所有名称

  6. 6

    从Python中的模块动态加载所有名称

  7. 7

    如何通过 Python 中的 Selenium Webdriver 从 HTML 标记的所有子项中提取文本

  8. 8

    无法加载所有好友的Facebook API python

  9. 9

    Python 和 selenium - 从网页获取所有链接

  10. 10

    如何通过selenium python从所有页面获取数据

  11. 11

    Python / Selenium-无法打印所有段落的文本内容

  12. 12

    使用Selenium Python无法获取没有标签的文本

  13. 13

    无法使用 Python WebScraping 从列表中获取所有标题

  14. 14

    Python:无法使用BeautifulSoup获取所有<span>标记中的所有文本

  15. 15

    递归列出Python中的所有文件,无法获取所有文件

  16. 16

    Python Selenium无法加载整页源代码

  17. 17

    使用查询selenium python获取所有没有div的body元素

  18. 18

    如何使用Selenium和Python获取具有动态ID的表

  19. 19

    使用 Python 从表中获取所有数据时无法获取 json 值

  20. 20

    为什么python库“ python-pptx”无法获取所有选择数据?

  21. 21

    如何使用python和selenium IDE获取网页上的所有链接

  22. 22

    如何使用Selenium Python中的一个类从任何网站获取所有数据

  23. 23

    python,selenium:无法从javascript获取原始html

  24. 24

    Python Selenium driver.get()无法打开我的所有URL

  25. 25

    Python,Selenium,下载所有MIME类型

  26. 26

    可以请求python库强制页面在存储该页面的内容之前加载所有javascript动态内容

  27. 27

    可以请求python库强制页面在存储该页面的内容之前加载所有javascript动态内容

  28. 28

    无法使用python-BeautifulSoup获取标签下的所有节点

  29. 29

    无法使用python-BeautifulSoup获取标签下的所有节点

热门标签

归档