导航:首页 > 编程语言 > python句柄

python句柄

发布时间:2022-01-17 09:38:09

python pywin32 里面操作窗体,获取窗体里面的数据,在函数GetDlgItem函数中,怎么获取第二个参数的值

不知道你解决了没,最近正好研究python。
hwnd=win32gui.FindWindow()这个获取窗体句柄,大概都会用;
ctrl=win32gui.FindWindowEx(hwnd,None,'窗口类名',‘标题文本’)已知控件类名或控件名时获取控件句柄,这个标题文本不一定存在,所以使用None默认值获取的是该窗口类名中第一个顺位的控件句柄。
你使用b=win32gui.GetDlgItem(edit,资源ID)最终结果是获取的是句柄,这里的资源ID其实是spy++中的窗口ID,句柄是可变的,窗口ID是不可变的。这里似乎错了,你这样子大概获取的是控件中的子项(控件有子项的话,比如Combox中的edit框),我猜的,没试过。b=win32gui.GetDlgItem(hwnd,窗口ID)是已知ID下获取某控件句柄
如果你想获取某个控件的ID则ctrlid=win32gui.GetDlgCtrlID(ctrl)这是一只某控件句柄的情况下获取该控件在应用程序中的窗口ID。
如果不知控件句柄的情况下大概可以试试spy++获取窗口ID,把窗口ID(这个是16进制的)转化成10进制带进b=win32gui.GetDlgItem(hwnd,窗口ID)大概也可以得到控件句柄。
其实就是三个函数之间的转化
ctrl=win32gui.FindWindowEx(hwnd,None,'edit',None)控件句柄
ctrlid=win32gui.GetDlgCtrlID(ctrl)控件的窗口id
ctrl2=win32gui.GetDlgItem(hwnd,ctrlid)控件句柄
print "%x" %ctrllist
print "%x" %ctrlid
print "%x" %ctrl
输出,看一下数据与spy++是否一致。然后ctrl=ctrl2

⑵ python 获得编辑区句柄

你拿到的是主窗口句柄,还需要搜索遍历,找到子窗口或控件。有些是自定义,只能通过位置定义。

⑶ python中的handle是什么方法

一般来说,handle就相当于C中的函数指针,你把哪个函数的句柄赋给handle,handle就代表哪个函数。当然,你也可以自己定义一个handle。

⑷ Python怎么获取不到子窗口的句柄呢,如图,求指导,刚学习Python的小白吃,求指导

 CSDN问答为您找到Python怎么获取不到子窗口的句柄呢,如图,求指导相关问题答案,如果想了解更多关于Python怎么获取不到子窗口的句柄呢,如图,求指导 python 技术问题等相关问答,请访问CSDN问答。

⑸ python中使用selenium获取窗口句柄时,window_handles取值出错

Form formPreview = new Form();
public Leaf(string name) : base(name) { }
public override void Add(Component c)
{
Console.WriteLine("Cannot add to a leaf");
}
public override void Remove(Component c)
{
Console.WriteLine("Cannot remove to a leaf");
}
public override void Display(int depth)
{
Console.WriteLine(new string('-',depth)+name);
}
}

⑹ 怎么用Python获取Chrome的地址栏句柄

首先,假设通过Firefox()浏览器定向爬取CSDN首页导航栏信息,审查元素代码如下图所示,在div class="menu"路径的ul、li、a下,同时可以定位ul class="clearfix"。

代码如下所示:
?

1
2
3
4
5
6
7
8
9
10
11
12
13
14
15
16
17

# coding=utf-8
import os
from selenium import webdriver

#PhantomJS无界面浏览器
##driver = webdriver.PhantomJS(executable_path="G:\phantomjs-1.9.1-windows\phantomjs.exe")

#打开火狐浏览器
driver = webdriver.Firefox()
url = "http://www.csdn.net/"
driver.get(url)

#xpath路径定位导航栏
elem_dh = driver.find_elements_by_xpath("//div[@class='menu']/ul/li/a")
for elem in elem_dh:
print elem.text #获取正文
print elem.get_attribute('href') #获取属性值

然后转换成chrome浏览器,只需要在"C:\Program Files (x86)\Google\Chrome\Application\"路径下放置个chromedriver.exe驱动,再进行调用即可,代码如下所示:
?

1
2
3
4
5
6
7
8
9
10
11
12
13
14
15
16
17
18
19
20
21
22
23
24
25
26
27

# coding=utf-8
import os
from selenium import webdriver

#PhantomJS无界面浏览器
##driver = webdriver.PhantomJS(executable_path="G:\phantomjs-1.9.1-windows\phantomjs.exe")

#打开火狐浏览器
#driver = webdriver.Firefox()

#谷歌浏览器
chromedriver = "C:\Program Files (x86)\Google\Chrome\Application\chromedriver.exe"
os.environ["webdriver.chrome.driver"] = chromedriver
driver = webdriver.Chrome(chromedriver)

#WebDriverException: Message: unknown error: session deleted because of page crash

url = "http://www.csdn.net/"
driver.get(url)

⑺ python根据句柄如何自动点击按钮

用python的sendkeys直接模拟键盘,用ctype扩展来点鼠标。你需要做的就是用python打开浏览器,然后输入网站,在找到按钮的坐标(固定到程序里),然后点击就行了。不过简单的可以,复杂点的就要考虑很多问题了。

⑻ python win32GUI模块中切换句柄的一个奇怪问题

每次执行的时候你把句柄打印出来,一目了然

⑼ python中获取子窗口的句柄

可以使用win32gui 以及pyhook 库来实现你的需求

阅读全文

与python句柄相关的资料

热点内容
cad命令行坐标输入 浏览:778
编译原理csdn博客 浏览:192
想在深圳买房关注哪个app 浏览:911
国际体验服为什么服务器加载失败 浏览:688
php接口用处 浏览:392
想推广app去哪里找 浏览:258
phpcmysql 浏览:121
安卓手机的百度carlife怎么连接车 浏览:136
编译安装py 浏览:160
pythonchar转int 浏览:218
基于单片机的多组密码锁设计论文 浏览:106
华为云如何升级云服务器 浏览:211
生活垃圾压缩直运站 浏览:749
加密通道加密数据 浏览:820
次肋梁需要加密吗 浏览:744
安徽蚌端口社保卡号用哪个app 浏览:217
php手册下载哪个好 浏览:163
安卓转苹果为什么转不成功 浏览:226
华为荣耀系统编译 浏览:733
看板块app哪个好用 浏览:666