drawingvisual如何异步绘制

drawingvisual如何异步绘制,第1张

DrawingVisual 类并没有提供异步绘制的方法,因为它是一个同步绘制对象。如果需要实现异步绘制,可以考虑使用其他的 WPF 绘图技术,例如:

1 在 BackgroundWorker 或 Task 中完成绘图任务,并在完成后将 DrawingVisual 对象添加到 UI 元素中。这种方法可以避免在 UI 线程中进行耗时的绘图 *** 作,提高应用程序的响应性能。

2 使用 CompositionTargetRendering 事件来间歇性地绘制 DrawingVisual 对象。这种方法可以在动态场景中实现连续的异步绘制,并且可以使用 GPU 加速以提高绘图性能。

3 使用 RenderTargetBitmap 对象来生成 DrawingVisual 的快照,并在后台线程中对图像进行处理。这种方法可以在后台线程中处理较长时间的绘图和图像处理任务,以避免阻塞 UI 线程。

综上所述,通过结合不同的绘图技术,可以实现 DrawingVisual 的异步绘制,并提高 WPF 应用程序的性能和响应性。

最近需要写一个爬虫,逻辑上有一个环节是取得一个页面的所有资源加载链接(html5页面)

(ps:python下的确是是有个第三方包叫Ghostpy可以取得,但是尝试后效果并不好,估计是因为Ghostpy的webkit对html5的支持并不好。)

选择用selenium,但是没找到selenium的webdriver下取得所有资源加载链接的方法。

selenium包下有一个selenium模块。查看源码时看到有个get_all_links方法。但是一直没找到这个模块的用法。

最后,求解答。谢谢大家。

方法不成的话,就自己do

it把:

all_links

=

browserfind_element_by_xpath('//a')

for

a

in

all_links:

agetAttribute('href')

有两个问题:

1 frame标签后面加冒号是标准的frame写法吗?不会是自定义的标签吧

<frame:groupmenu >

</frame>

2 我用的switch_to_frame(frameName) 没有问题

        print '-------------------------switch to top frame'

        driverswitch_to_default_content()

        driverswitch_to_frame('top')

        print driverfind_element_by_id('top-btn')text

        print 'switch_to_frame done'

        print '-------------------------switch to left frame'

        driverswitch_to_default_content()

        driverswitch_to_frame('left')

        print driverfind_element_by_id('left-btn')text

        print 'switch_to_frame done'

        print '-------------------------switch to main frame'

        driverswitch_to_default_content()

        driverswitch_to_frame('main')

>

PhantomJS 和 Chromedriver *** 作方式以及功能一致

主要区别 PhantomJS 无界面模式 节省内存

Chromedriver 完全模仿浏览器 消耗内存

PhantomJS 截取的是网页的完整页面,包括下拉进度条的内容

Chromedriver只截取d框浏览器的可视化内容页面

001 先找到文本输入框元素,输入内容

002 找到搜索按钮 进行搜索

给输入框赋值: elementsend_keys()

*** 作点击事件: elementclick()

find_element和find_elements的区别

带s的返回的是列表

不带s的是返回列表中的第一个元素

selenium处理cookie

页面等待 : >

以上就是关于drawingvisual如何异步绘制全部的内容,包括:drawingvisual如何异步绘制、如何用python的selenium提取页面所有资源加载的链接、PYTHON,SELENIUM如何获取HTML内元素,等相关内容解答,如果想了解更多相关内容,可以关注我们,你们的支持是我们更新的动力!

欢迎分享,转载请注明来源:内存溢出

原文地址: http://outofmemory.cn/web/9718984.html

(0)
打赏 微信扫一扫 微信扫一扫 支付宝扫一扫 支付宝扫一扫
上一篇 2023-05-01
下一篇 2023-05-01

发表评论

登录后才能评论

评论列表(0条)

保存