相关疑难解决方法(0)

用于读写注册表路径的python脚本

我开发了一个python脚本,我有一个设置窗口,可以选择安装软件的路径.当点击设置窗口的OK按钮时,我想将所有选定的路径写入注册表并阅读设置窗口再次打开时相同.我的代码如下所示.

def OnOk(self, event):
    data1=self.field1.GetValue() #path selected in setting window
    aReg = ConnectRegistry(None,HKEY_LOCAL_MACHINE)
    keyVal=OpenKey(aReg,r"SOFTWARE\my path to\Registry", 0,KEY_WRITE)
    try:
       SetValueEx(keyVal,"Log file",0,REG_SZ,data1)
    except EnvironmentError:
       pass
    CloseKey(keyVal)
    CloseKey(aReg)
Run Code Online (Sandbox Code Playgroud)

我收到如下错误:

Traceback (most recent call last):
File "D:\PROJECT\project.py", line 305, in OnOk
keyVal=OpenKey(aReg,r"SOFTWARE\my path to\Registry", 0,KEY_WRITE)
WindowsError: [Error 5] Access is denied
Run Code Online (Sandbox Code Playgroud)

从注册表中读取,保存的注册表必须显示在设置窗口中.我尝试使用下面的代码.虽然它的工作但不满意我的编程方式.帮我解决更好的解决方案

key = OpenKey(HKEY_CURRENT_USER, r'Software\my path to\Registry', 0, KEY_READ)
    for i in range(4): 
        try:
            n,v,t = EnumValue(key,i)
            if i==0:
                self.field2.SetValue(v)
            elif i==1:
                self.field3.SetValue(v)
            elif i==2:
                self.field4.SetValue(v)
            elif i==3:
                self.field1.SetValue(v)
        except EnvironmentError:                                               
            pass
CloseKey(key)
Run Code Online (Sandbox Code Playgroud)

winreg python-2.7

13
推荐指数
4
解决办法
4万
查看次数

如何通过 Selenium 和 Python 中的 IEDriverServer 使用 DesiredCapabilities 类

由于某种原因,我一直在努力使用在 IE11 中工作的简单 python 脚本,它无法找到任何元素,但是通过在 Java 代码中设置一些所需的功能,它可以工作:

System.setProperty("webdriver.ie.driver", "C:\\Python27\\IEDriverServer.exe");
DesiredCapabilities ieCapabilities = DesiredCapabilities.internetExplorer();
ieCapabilities.setCapability(InternetExplorerDriver.INTRODUCE_FLAKINESS_BY_IGNORING_SECURITY_DOMAINS,true);
WebDriver driver = new InternetExplorerDriver(ieCapabilities);//
driver.navigate().to("http://www.google.com");
WebElement search =driver.findElement(By.name("q"));
search.sendKeys("selenium");
search.submit(); 
Run Code Online (Sandbox Code Playgroud)

但是,由于我已经在 python 中编写了我的测试,我想在 python 中使用相同的方法:

caps = DesiredCapabilities.INTERNETEXPLORER
caps['executablePath'] = 'C:\\Python27\\IEDriverServer.exe'
caps['InternetExplorerDriver.INTRODUCE_FLAKINESS_BY_IGNORING_SECURITY_DOMAINS'] = True
browser = webdriver.Ie(capabilities=caps)
browser.get('https://google.com')
search = WebDriverWait(browser,10).until(EC.presence_of_element_located((By.NAME, 'q')))
search.send_keys("selenium")
search.submit()
Run Code Online (Sandbox Code Playgroud)

但是由于某种原因,selenium 仍然无法找到搜索栏,所以我猜我在 python 中写的等价物是不正确的,有人可以指出我正确的方向吗?

python selenium internet-explorer selenium-webdriver selenium-iedriver

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