gpt4 book ai didi

javascript - PhantomJS 和 Selenium Webdriver - 如何抓取由 js 加载的下一页表

转载 作者:行者123 更新时间:2023-12-03 03:25:19 25 4
gpt4 key购买 nike

大家都告诉我,一旦我使用PhantomJS,我就会得到JS生成的表格内容。但我还是失败了。

我希望在网站 http://data.eastmoney.com/xg/xg/default.html 上获得表格

第一页没问题。

当我在page2的css选择器位置上使用click()获取page2时,返回的内容仍然是page1。有什么问题吗?

#coding:utf-8
from selenium import webdriver
import time
from selenium.webdriver.support.ui import WebDriverWait

driver = webdriver.PhantomJS()
driver.get("http://data.eastmoney.com/xg/xg/default.html")
time.sleep(2)
driver.find_element_by_css_selector("#PageCont > span.at").click()

list_cates = driver.find_element_by_css_selector("#dt_1 > tbody > tr:nth-child(1) > td:nth-child(2) > a").text
print(list_cates)

最佳答案

您的问题是您在点击发生后没有等待数据更新。您需要等待一段时间以便 Ajax 调用完成

#coding:utf-8
from selenium import webdriver
import time
from selenium.webdriver.support.ui import WebDriverWait

driver = webdriver.PhantomJS()
driver.get("http://data.eastmoney.com/xg/xg/default.html")
time.sleep(2)
driver.find_element_by_css_selector("#PageCont .next").click()

time.sleep(5)
list_cates = driver.find_element_by_css_selector("#dt_1 > tbody > tr:nth-child(1) > td:nth-child(2) > a").text
print(list_cates)
# Prints '太平鸟'

与第2页数据匹配

Page 2

关于javascript - PhantomJS 和 Selenium Webdriver - 如何抓取由 js 加载的下一页表,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/46358901/

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