在一个高层次上,有没有人知道如何进入沉浸式阅读器模式时,微软边缘可用于一个给定的网页通过 selenium ?我的目标是加载一个页面,进入沉浸式阅读器,并将页面的源代码保存到磁盘。我通过Docker启动Edge,并通过Node.js脚本实用地连接到它。我试过driver.actions().sendKeys(KEY.F9),但它不起作用,因为我的目标是浏览器而不是DOM元素。非常感谢你的帮助。
vdgimpew1#
快跑
driver.get('read://' + url)
并且如果可用,则以沉浸式阅读器模式加载该站点。
要与UI交互,必须使用pyautogui(pip install pyautogui),然后在浏览器窗口处于焦点/活动状态时运行以下代码:
pip install pyautogui
import pyautogui pyautogui.press('F9')
例如,通过与按CTRL+S时出现的弹出窗口交互来保存pdf也很有用。
vaj7vani2#
这里有一段代码,供其他可能会偶然发现这一点的人使用:helping me的@声波学分到那里!
const { Builder } = require('selenium-webdriver'); const fs = require('fs'); (async () => { const driver = await new Builder().forBrowser('MicrosoftEdge').usingServer('http://localhost:4444').build(); await driver.get('read://https://www.bbc.co.uk/news/entertainment-arts-64302120'); // this URL needs to be Immersive Reader supported await driver.switchTo().frame(0); const pagesource = await driver.getPageSource(); fs.writeFile('test.html', pagesource, err => { if (err) { console.log(err); } }); const title = (await driver.getTitle()).trim(); console.log(title); await driver.quit(); })().catch((e) => console.error(e));
2条答案
按热度按时间vdgimpew1#
新
快跑
并且如果可用,则以沉浸式阅读器模式加载该站点。
旧的
要与UI交互,必须使用pyautogui(
pip install pyautogui
),然后在浏览器窗口处于焦点/活动状态时运行以下代码:例如,通过与按CTRL+S时出现的弹出窗口交互来保存pdf也很有用。
vaj7vani2#
这里有一段代码,供其他可能会偶然发现这一点的人使用:
helping me的@声波学分到那里!