html点击按钮到页面覆盖当前,Splinter或Selenium:单击按钮后可以获得当前的html页面吗?...

我正在抓取网站“http://everydayhealth.com”。但是,我发现页面将动态呈现。所以,当我点击“更多”按钮时,会显示一些新的新闻。但是,使用splinter单击按钮不会让“browser.html”自动更改为当前html内容。有没有办法让它获得最新的html源代码,使用splinter或selenium?我的代码如下:import requests

from bs4 import BeautifulSoup

from splinter import Browser

browser = Browser()

browser.visit('http://everydayhealth.com')

browser.click_link_by_text("More")

print(browser.html)

根据@Louis的回答,我重新编写了程序如下:from selenium import webdriver

from selenium.webdriver.support.ui import WebDriverWait

driver = webdriver.Firefox()

driver.get("http://www.everydayhealth.com")

more_xpath = '//a[@class="btn-more"]'

more_btn = WebDriverWait(driver, 10).until(lambda driver: driver.find_element_by_xpath(more_xpath))

more_btn.click()

more_news_xpath = '(//a[@href="http://www.everydayhealth.com/recipe-rehab/5-herbs-and-spices-to-intensify-flavor.aspx"])[2]'

WebDriverWait(driver, 5).until(lambda driver: driver.find_element_by_xpath(more_news_xpath))

print(driver.execute_script("return document.documentElement.outerHTML;"))

driver.quit()

但是,在输出文本中,我仍然找不到更新页面中的文本。例如,当我搜索“牛奶是你的朋友还是敌人?”,它仍然不返回任何内容。怎么了?

评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包
实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值