如何使用Selenium在Firefox中切换Reader视图?

How to toggle Reader view in Firefox using Selenium?

提问人:RipeGorilla 提问时间:10/21/2023 最后编辑:YaroslavmRipeGorilla 更新时间:10/22/2023 访问量:26

问:

我想用selenium在firefox中打开一个网页,然后进入阅读器视图。 进入阅读器视图通常通过按 ++ 完成。 然而,下面的python代码只打开了网页,我错过了什么?ctrlaltr

from selenium import webdriver 
from selenium.webdriver.common.keys import Keys
from selenium.webdriver.common.action_chains import ActionChains

driver = webdriver.Firefox()
driver.get('https://en.wikipedia.org/wiki/Randomness')
toggle_reader_mode = ActionChains(driver)\
        .key_down(Keys.CONTROL)\
        .key_down(Keys.ALT)\
        .send_keys('R')\
        .key_up(Keys.ALT)\
        .key_up(Keys.CONTROL)
toggle_reader_mode.perform()
python-3.x selenium-webdriver 火狐

评论


答:

1赞 Yaroslavm 10/22/2023 #1

AFAIK与用户直接键盘点击不同,因此并非所有热键都可以被浏览器识别。Actions API

如果您的目标是打开阅读器模式,只需添加到 url 即可。about:reader?url=

def open_url_in_reader_mode(webdriver, url):
    webdriver.get(f"about:reader?url={url}")

open_url_in_reader_mode(driver, 'https://en.wikipedia.org/wiki/Randomness')

评论

0赞 RipeGorilla 10/22/2023
谢谢!这行得通。有什么技巧可以让它大声朗读吗?用 send_keys(“n”) 按 n 似乎不起作用。