В моем мобильном приложении я загружаю веб-сайт, используя WebView
, как показано ниже,
webBrowser1.Source = "https://overwatchleague.com/en-us/news/22482778/world-cup-bangkok-s-standout-players";
InitializeNewsPageAsync();
public async void InitializeNewsPageAsync()
{
webBrowser1.Navigated += async (o, s) =>
{
await webBrowser1.EvaluateJavaScriptAsync(@"element.parentNode.removeChild(document.getElementById('Navbar is-compact is-auto is-custom-logo'));");
await webBrowser1.EvaluateJavaScriptAsync(@"element.parentNode.removeChild(document.getElementById('c-Header js-header'));");
await webBrowser1.EvaluateJavaScriptAsync(@"element.parentNode.removeChild(document.getElementById('u-verticalNavPadding'));");
await webBrowser1.EvaluateJavaScriptAsync(@"element.parentNode.removeChild(document.getElementById('ContentModule ContentModule-background--white'));");
await webBrowser1.EvaluateJavaScriptAsync(@"element.parentNode.removeChild(document.getElementById('BuyCTA'));");
await webBrowser1.EvaluateJavaScriptAsync(@"element.parentNode.removeChild(document.getElementById('TexturedBackground TexturedBackground--dark'));");
};
}
Я хочу удалить определенные части страницы, чтобы я мог показывать только основное содержимое.Понравился ридер в браузерах смартфонов.Однако ни webBrowser1.Eval()
, ни webBrowser1. EvaluateJavaScriptAsync()
не сработали.Я также пробовал 2 разных скрипта Java,
document.getElementByClassName('Navbar is-compact is-auto is-custom-logo').style.display = 'none';
и
element.parentNode.removeChild(document.getElementById('Navbar is-compact is-auto is-custom-logo'));
Ни один из них не работал.Основное содержимое, которое я только хочу показать, находится в теге div
<div class="u-horizontalPadding--medium" id="main-news-section"> ... </div>
Я попытался загрузить только содержимое этого тега div, используя XPath и HtmlWebViewSource, но при этом загружается только базовый HTML без CSS и JavaScript.В картинках это то, чего я хочу достичь
, и вот так выглядит страница без манипуляций.