小编Ric*_*son的帖子

Selenium - 如何从现有的 Firefox 配置文件导入所有设置

我为什么要这样做:

我需要自动化一个需要客户端 SSL 证书的网站。我理解这是一个无法使用 fp.set_preference() 指定的选项。我无法控制要连接的服务器,因此无法更改安全设置。

我试过什么

我创建了一个单独的 Firefox 配置文件,其中设置了所需的“客户端密码保护 SSL 证书”,自动选择一个证书和一些手动代理设置 (SOCKS 5)。经过多次谷歌搜索后,我将代码设置如下:

from selenium import webdriver
url = 'https://www.paininneck.co.uk'
fp = webdriver.FirefoxProfile(r"""C:\Users\
<user>\AppData\Local\Mozilla\Firefox\Profiles\<Firefox>""")
driver = webdriver.Firefox(fp)
driver.get(url)
Run Code Online (Sandbox Code Playgroud)

问题:

浏览器确实打开了,但是,它仍然使用默认配置文件。我在其他配置文件中更改的任何设置都没有复制。我的代码中指定的配置文件仍在通过 Firefox UI 选择它。

我希望我错过了一些简单的东西,而且所有这些时间谷歌搜索都没有白费!我不愿意更改为默认设置,但是在调整默认配置文件以查看设置是否会复制后,很明显它们不会,并且 Selenium 每次都在制作干净的副本。

亲切的问候

富有的

版本:

Python==3.6.1,
Selenium==3.4.3,
Firefox==53
gecko driver==v0.16.1
OS==Windows(Its for work dont judge me!)
Run Code Online (Sandbox Code Playgroud)

python firefox selenium python-3.x

5
推荐指数
1
解决办法
1960
查看次数

Office365-REST-Python-客户端访问令牌问题

我发现了许多使用 Office365-REST-Python-Client 的示例,但是,它们都没有正确获取访问令牌。我已在 Azure 门户下注册了一个应用程序,使用“应用程序权限”授予其 API 权限,创建了一个密钥,并在我的设置字典中使用了 client_secret 和 client_id 以在下面的代码中使用。

def read_folder_and_files(context, list_title):
    """Read a folder example"""
    list_obj = context.web.lists.get_by_title(list_title)
    folder = list_obj.root_folder
    context.load(folder)
    context.execute_query()
    print("List url: {0}".format(folder.properties["ServerRelativeUrl"]))

    files = folder.files
    context.load(files)
    context.execute_query()
    for cur_file in files:
        print("File name: {0}".format(cur_file.properties["Name"]))

    folders = context.web.folders
    context.load(folders)
    context.execute_query()
    for folder in folders:
        print("Folder name: {0}".format(folder.properties["Name"]))


if __name__ == '__main__':
    ctx_auth = AuthenticationContext(url=settings['url'])
    if ctx_auth.acquire_token_for_app(client_id=settings['client_credentials']['client_id'],
                                      client_secret=settings['client_credentials']['client_secret']):
        ctx = ClientContext(settings['url'], ctx_auth)
        read_folder_and_files(ctx, "Documents")
        # read_folder_and_files_alt(ctx, "Documents")
        # upload_file_into_library(target_library, name, content)
        # download_file(ctx)
    else:
        print(ctx_auth.get_last_error()) …
Run Code Online (Sandbox Code Playgroud)

python sharepoint document-library sharepoint-online

3
推荐指数
1
解决办法
7427
查看次数