当前位置: 首页 > 知识库问答 >
问题:

网页加载在selenium和到达结束,但不包含div内的所有元素

刁璞
2023-03-14

这是网站。https://www.talabat.com/uae/top-selling.大约有100种产品,只有30种被加载。我试图获取所有链接和页面,但只显示30个产品,单击webdriver中的某个位置,然后加载其余产品。如何打印所有产品的链接?提前谢谢!!

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

from bs4 import BeautifulSoup

HOME_PAGE_URL = "https://www.talabat.com/uae/top-selling"
PATIENCE_TIME = 60
LOAD_MORE_XPATH = '//*[@id="comment-ajx"]/div'

driver = webdriver.Chrome(executable_path='C:\\Users\\Mansi Dhingra\\Downloads\\chromedriver.exe')
driver.get(HOME_PAGE_URL)
soup=BeautifulSoup(driver.page_source)

driver.execute_script("window.scrollTo(0, document.body.scrollHeight);")
# sleep for 30s
res=[]

results = driver.find_elements_by_xpath("/html/body/div[3]/ui-view/section/div/div[2]/div/div[2]/div/div[2]")

html_code = driver.find_element_by_tag_name("section").text
print(html_code)
for res in results:
    link=res.find_elements_by_tag_name('a')
    for x in link:
        product_link = x.get_attribute("href")

        print(product_link)
print(results)

共有1个答案

隆谦
2023-03-14

主要的一点是,selenium在页面加载所有项目之前读取页面,您需要等待。

只读文档:https://selenium-python.readthedocs.io/waits.html

选择适合您的最佳条件,并为之努力。

 类似资料:
  • 问题内容: 如果不使用iframe,则可以加载以下内容: 与外部站点,例如somesitehere.com 页面何时加载?-我知道如何从文件加载内容,但是不确定如何加载整个网站吗? 非常感谢, 问题答案: 无需专门的操作就可以做到。由于标题中提到了jQuery,因此使用了jQuery。

  • 我正在使用Selenium进行一些Webscraphing操作,现在我想在链接文本、按钮文本、元素、元素或中找到用户可以单击的所有元素,这些元素包含单词“download”(任何大写)。这可以包括链接、按钮或任何其他元素。 在这个答案中,我找到了一个xpath供那些寻找xpath的人搜索基于特定文本(或不区分大小写和部分匹配)的按钮: 但在此页面上,即使有以下链接,也不会返回任何结果: 有没有人知

  • 我正试图使用Selenium来废除google maps,不幸的是,它不太好用,元素不在页面加载上,是在点击某个按钮后添加的,但似乎元素在寻找时并不总是加载。(我指的是在进行特定搜索时,点击商店、餐馆后出现的旋转木马项目) null

  • 我在向遗留应用程序添加响应时遇到了一点麻烦。虽然我在入门时找到了大量的材料,但我遇到了一系列与我的特定配置相关的问题,并且由于我完全缺乏webpack知识而加剧了这些问题(如此多的时间依赖反应cli工具会让人松懈)。 我的配置: =mynode_modules,那是yarn安装模块的地方 =我的一般js文件夹,各种js脚本去那里 =我的dist文件夹,有些东西被构建/打包并在这里结束。这是建造的东

  • 我正在寻找一种通过请求模块列出所有加载文件的方法。就像chrome的Inspector网络选项卡一样,您可以看到该网页加载的各种文件。 问题是我要获取的文件(在这种情况下是. pdf文件)没有特定的选项卡,网页通过javascript和AJAX加载它我猜,因为即使在页面完全加载后,我也找不到一个具有指向. pdf文件或类似文件的链接的标签,所以每次我都应该转到Networks选项卡并重新加载页面并

  • 我在div里有100个按钮: 我想在引导样式中样式化所有按钮。所以,我需要到处换衣服 有可能吗?正确的语法是什么? 谢谢你!!