gpt4 book ai didi

javascript - 在 Python 和 Javascript 中使用 Selenium 在 Quora 上无限滚动

转载 作者:行者123 更新时间:2023-11-30 16:34:23 26 4
gpt4 key购买 nike

我尝试处理 Quora 网站中的“无限滚动”。在尝试使用 send_keys 方法后,我将 selenium lib 与 Python 结合使用,我尝试运行 Javascript 命令以向下滚动页面。

当我运行代码时它不起作用,但如果我尝试在 firefox 控制台中运行它就可以了。我该如何解决这个问题?可以使用 PhantomJs 吗?

def scrapying(self):
print platform.system()

browser = webdriver.Firefox()
#browser = webdriver.PhantomJS(executable_path='/usr/local/bin/node_modules/phantomjs/lib/phantom/bin/phantomjs')

browser.get("https://www.quora.com/C-programming-language")
#browser.get("https://answers.yahoo.com/dir/index?sid=396545660")
time.sleep(10)

#elem = browser.find_element_by_class_name("topic_page content contents main_content fixed_header ContentWrapper")
no_of_pagedowns = 500

while no_of_pagedowns:
#elem.send_keys(Keys.SPACE)
browser.execute_script("window.scrollTo(0, document.body.scrollHeight);")
time.sleep(0.5)
no_of_pagedowns -= 1

browser.quit()






myClassObject = getFrom()
myClassObject.scrapying()

最佳答案

其中一个选项是递归 scroll into view页面上最后加载的帖子的:

from selenium import webdriver

driver = webdriver.Chrome()
driver.get("https://www.quora.com/C-programming-language")

NUM_POSTS = 200
posts = driver.find_elements_by_css_selector("div.pagedlist_item")

while len(posts) < NUM_POSTS:
driver.execute_script("arguments[0].scrollIntoView();", posts[-1])

posts = driver.find_elements_by_css_selector("div.pagedlist_item")

print(len(posts))

它会向下滚动页面,直到至少加载了 NUM_POSTS 个帖子。

关于javascript - 在 Python 和 Javascript 中使用 Selenium 在 Quora 上无限滚动,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/32888967/

26 4 0
Copyright 2021 - 2024 cfsdn All Rights Reserved 蜀ICP备2022000587号
广告合作:1813099741@qq.com 6ren.com