【问题标题】:Python: Manually config Chrome://settings by Selenium remotedriverPython:通过 Selenium remotedriver 手动配置 Chrome://settings
【发布时间】:2021-03-16 16:35:41
【问题描述】:

我正在尝试通过 selenium webdriver 控制 chrome://settings,我尝试这样做的方式如下:

driver.get('chrome://settings/content/siteDetails?site=https%3A%2F%2Fwww.google.com')
a_button = WebDriverWait(driver, 5).until(
            EC.presence_of_element_located((By.XPATH, '//select[contains(@id, "permission")]')))

由于某种原因 selenium 无法识别 xpath,因此我无法选择它并在设置中移动或更改任何内容

*** selenium.common.exceptions.TimeoutException: Message:

我的 selenium 版本是 selenium==3.141.0

【问题讨论】:

    标签: python python-3.x selenium selenium-webdriver selenium-chromedriver


    【解决方案1】:
    driver = webdriver.Chrome()
    
    driver.get(
        'chrome://settings/content/siteDetails?site=https%3A%2F%2Fwww.google.com')
    temp= driver.execute_script(
        "return document.querySelector('settings-ui').shadowRoot.querySelector('settings-main#main').shadowRoot.querySelector('settings-basic-page')")
    rules = driver.execute_script(
        "return arguments[0].shadowRoot.querySelector('settings-privacy-page').shadowRoot.querySelector('settings-animated-pages#pages settings-subpage site-details').shadowRoot.querySelector('div.list-frame:not(div>div.list-frame)')", temp)
    location = driver.execute_script(
        "return arguments[0].querySelector('site-details-permission[label=\"Location\"]').shadowRoot.querySelector('#permission')", rules)
    camera = driver.execute_script(
        "return arguments[0].querySelector('site-details-permission[label=\"Camera\"]').shadowRoot.querySelector('#permission')", rules)
    
    location.click()
    location.find_element_by_id("allow").click()
    
    camera.click()
    camera.find_element_by_id("block").click()
    

    它在 shadowRoot 内部,因此您必须使用执行脚本并遍历每个影子根。在上面的代码中,您只需更改“位置”行中的标签即可更改其他规则,因为“规则”对象是所有其他规则的父对象。

    【讨论】:

    • 谢谢。今天学到了一些新东西
    猜你喜欢
    • 1970-01-01
    • 1970-01-01
    • 2013-06-30
    • 1970-01-01
    • 1970-01-01
    • 1970-01-01
    • 2015-11-16
    • 2018-08-22
    • 2017-05-26
    相关资源
    最近更新 更多