Warning: file_get_contents(/data/phpspider/zhask/data//catemap/8/redis/2.json): failed to open stream: No such file or directory in /data/phpspider/zhask/libs/function.php on line 167

Warning: Invalid argument supplied for foreach() in /data/phpspider/zhask/libs/tag.function.php on line 1116

Notice: Undefined index: in /data/phpspider/zhask/libs/function.php on line 180

Warning: array_chunk() expects parameter 1 to be array, null given in /data/phpspider/zhask/libs/function.php on line 181
Python 3.x 使用browser.page\u source读取时,页面\u源内容不会更改_Python 3.x_Selenium - Fatal编程技术网

Python 3.x 使用browser.page\u source读取时,页面\u源内容不会更改

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()”刷新页面,但它将返回到第一页,第二页与第一页共享相同的链接 我的问题是如何在单击“下一步”按钮后获得更新的页面内容 下面

目标页面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