Python 3.x 使用browser.page\u source读取时,页面\u源内容不会更改
目标页面url为“” 此页面底部有一个库存列表表,有70多个页面,您可以通过单击“下一步”移动到其他页面(“下一页"), 但页面的链接从未更改,它始终显示“” 我使用selenium单击下一页并使用“html\u code=browser.page\u source”获取html的内容,但我从未获取新页面的内容,它总是显示第一页 我尝试使用“browser.refresh()”刷新页面,但它将返回到第一页,第二页与第一页共享相同的链接 我的问题是如何在单击“下一步”按钮后获得更新的页面内容 下面是我的代码:Python 3.x 使用browser.page\u source读取时,页面\u源内容不会更改,python-3.x,selenium,Python 3.x,Selenium,目标页面url为“” 此页面底部有一个库存列表表,有70多个页面,您可以通过单击“下一步”移动到其他页面(“下一页"), 但页面的链接从未更改,它始终显示“” 我使用selenium单击下一页并使用“html\u code=browser.page\u source”获取html的内容,但我从未获取新页面的内容,它总是显示第一页 我尝试使用“browser.refresh()”刷新页面,但它将返回到第一页,第二页与第一页共享相同的链接 我的问题是如何在单击“下一步”按钮后获得更新的页面内容 下面
import html5lib
import re
import time
import random
import json
import sys
from bs4 import BeautifulSoup as soup
from selenium import webdriver
from selenium.webdriver.support.ui import WebDriverWait
from selenium.webdriver.support import expected_conditions as EC
from selenium.webdriver.common.by import By
url="http://data.eastmoney.com/gzfx/list.html"
browser = webdriver.Chrome()
browser.get(url)
html_code=browser.page_source
soupcontent = soup(html_code,'html5lib')
while True:
scripts = soupcontent.find_all('script')
jsonObj = None
for script in scripts:
if 'pageData =' in script.text:
jsonStr = script.text
jsonStr = jsonStr.split("pageData =")[1]
jsonObj = json.loads(jsonStr)
products = jsonObj['data']
for item in products:
serialno=item['SECURITYCODE']
stockname=item['SName']
industry=item['HYName']
market=item['MKT']
print (serialno+'\t'+stockname+'\t'+industry+'\t'+market+'\n')
browser.find_element_by_link_text('下一页').click()
wait = WebDriverWait(browser, 10)
html_code=browser.page_source
soupcontent = soup(html_code)
如何获取新页面的更新内容
谢谢!Javascript触发的内容更新不会改变页面的来源 不要获取页面源代码,而是尝试获取body元素的内容
请删除除与问题相关的代码之外的所有代码对不起,唯一相关的代码是:“html\U代码=浏览器.page\u源代码”。浏览器打开第二个页面后,我无法使用“html\U代码=浏览器.page\u源代码”获取更新的html内容“。谢谢!我已经尝试过了,但似乎仍然得到了与第一页相同的内容。您确实可以在chrome浏览器中看到该页已更改为下一页,但使用“html\u code=browser.page\u source”或“html\u code=browser.find\u element\u by_tag\u name(“body”).text并没有更改内容。”谢谢!我再试了一次,效果很好,得到了更新的内容。谢谢!
html_code = browser.find_element_by_tag_name("body")).text