Selenium 无法获取页面的所有元素

我正在使用 selenium 在agoda 上搜索并抓取页面中的所有酒店名称,但输出仅返回 2 个名称。


然后我尝试添加一行滚动到底部,现在输出给了我前 2 个名字和后 2 个名字(从头开始的前两个,从底部开始的最后两个)


我不明白有什么问题,我为每一步都添加了 time.sleep() 所以整个页面应该已经完全加载了。selenium 是否通过页面视图限制它只能刮掉那些可见的元素?


我的代码如下:


driver.execute_script("window.scrollTo(0, document.body.scrollHeight);")


time.sleep(30)


def scrape():

    r = requests.get(current_page)


if r.status_code == requests.codes.ok:

    print('start scraping!')

    hotel = driver.find_elements_by_class_name('hotel-name')

    

    hotels = []

    

    for h in hotel:

        if hotel:

            hotels.append(h.text)

                

    print(hotels, file=open("output.txt", 'a', encoding="utf-8"))

    

scrape()


慕的地8271018
浏览 231回答 1
1回答
打开App,查看更多内容
随时随地看视频慕课网APP

相关分类

Python