我正在使用Selenium构建自动化测试任务。当我将第一个字段放在表单上时,其余部分将根据之前的尝试自动完成。我可以清除字段来处理这个问题,但如果我可以完全禁用自动完成功能会更容易 有没有办法在Python Selenium中做到这一点?
编辑:我正在创建一个配置文件:
profile = webdriver.FirefoxProfile()
profile.accept_untrusted_certs = True
profile.set_preference("security.enable_java", True)
profile.set_preference("plugin.state.java", 2)
driver = webdriver.Firefox(firefox_profile=profile)
答案 0 :(得分:2)
最好的选择是为Firefox创建一个与selenium webdriver配合使用的配置文件:
使用'-p'选项启动Firefox以启动概要文件管理器并创建新的自定义概要文件。
在选项中,您可以停用自动填充功能:
转到'选项'> 'privacy'> '使用历史记录的自定义设置'并禁用'记住搜索和表单历史记录。
使用以下命令将自定义Firefox配置文件与selenium一起使用:
from selenium import webdriver
from selenium.webdriver.firefox.webdriver import FirefoxProfile
profile = FirefoxProfile(path_to_my_profile)
driver = webdriver.Firefox(profile)
或者您可以使用selenium本身创建临时自定义配置文件(省略'path_to_my_profile')并添加以下首选项:
profile.set_preference('browser.formfill.enable', False)
答案 1 :(得分:1)
您需要将browser.formfill.enable
firefox配置文件首选项设置为false
,以要求Firefox不要记住并自动填充表单输入值:
profile.set_preference("browser.formfill.enable", "false")