小编DrL*_*zer的帖子

WPF WebBrowser控件 - 如何抑制脚本错误?

我在这里发现了类似的问题:

使用WPF WebBrowser控件时如何禁止脚本错误?

但这些解决方案不适用于我.我需要阻止弹出窗口出现,因为我正在使用WebBrowser自动执行网站上的管理任务.

SuppressScriptErrors 似乎不是我的WebControl上的可用属性:(

.net c# wpf webbrowser-control

56
推荐指数
5
解决办法
5万
查看次数

C#使用枚举中的数字

希望快点.

这是一个有效的枚举

public enum myEnum
{
  a= 1,
  b= 2,
  c= 3,
  d= 4,
  e= 5,
  f= 6,
  g= 7,
  h= 0xff
};
Run Code Online (Sandbox Code Playgroud)

但事实并非如此

public enum myEnum
{
  1a = 1,
  2a = 2,
  3a = 3,
};
Run Code Online (Sandbox Code Playgroud)

有没有办法可以在枚举中使用数字.我已经有了代码来填充枚举下拉列表,所以它会非常方便

c# syntax enums

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

如何使用 Astro 获取查询字符串参数

我正在使用一种名为 Astro ( https://astro.build/ ) 的新技术来构建一个完全静态的服务器端渲染页面,交付零 JS。

我有一个带有简单文本输入表单的页面,当用户填写该表单并单击提交按钮时,它会向 astro 页面发送 GET 请求。网址看起来像这样......

/?搜索=1234

我想要做的是访问该查询字符串参数,以便将我的用户重定向到另一个静态页面 /1234。

我尝试使用 Astro.request 访问 quesrystring 参数,但该对象(包括参数属性)完全为空。

是否有办法从 .astro 页面/文件访问查询字符串参数?

javascript node.js reactjs astrojs

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

c#比较两个对象模型中的数据

我有一个对话框,当它产生时,它会被对象模型中的数据填充.此时,数据被复制并存储在"备份"对象模型中.当用户完成更改并单击"确定"以关闭对话框时,我需要一种快速方法来比较备份对象模型和实时模型 - 如果有任何更改,我可以为用户创建一个新的撤消状态.

如果可能的话,我不想为对象模型中的每个类编写比较函数.

如果我将两个对象模型序列化并且它们相同但存储在不同的内存位置它们是否相等?是否存在比较两个序列化对象模型的简单方法?

c# comparison serialization

9
推荐指数
2
解决办法
9894
查看次数

如何在WPF文本可编辑组合框上设置插入位置

我一直在寻找类似的问题,找不到任何东西..Caret似乎不可用,我不知道如何深入到文本框或组合框中嵌入的任何控件.

c# wpf user-interface

9
推荐指数
2
解决办法
6503
查看次数

C#内存泄漏,跟踪技术和工具

我写的应用程序因内存泄漏而遭受巨大痛苦.当用户关闭加载的项目时,几乎整个对象模型都停留在内存中.我知道这一点的方式是因为关闭我的应用程序中的项目几乎不影响任务管理器中的内存使用情况,然后打开一个新项目几乎使每次都加倍.我下载了jetBrain的dotTrace Memory 3.5,但很少(无)使用说明.我想知道如何使用它,它表明当我关闭项目后拍摄快照时,整个对象模型仍然在内存中.在我的项目中捕捉关闭代码我没有理由这样做.有没有人知道任何特别是通常会导致C#内存泄漏或任何用于追踪问题的工具或技术.一切都很好,有一个显示我的整个对象模型的应用程序仍然加载到内存但它没有显示我存储它的对象或变量.提前致谢.

.net c# memory-leaks

8
推荐指数
1
解决办法
1709
查看次数

如何使用python检查状态或终止外部进程

我有一个在我的Web服务器上运行的python脚本.然后调用main函数,当它返回时,它只是休眠几秒钟并再次被调用.它的目的是获取用户添加的任何新上传的视频并将其转换为webm,将中间帧作为图像和一堆其他时髦的东西拉出来.我正在使用外部调用ffmpeg.下面的代码片段显示了我如何调用它.

    duration = output[durationIndex+10:durationIndex+18]
    durationBits = duration.split(":")
    lengthInSeconds = (int(durationBits[0])*60*60) + (int(durationBits[1])*60) + (int(durationBits[2]))

    child = subprocess.Popen(["ffmpeg","-y","-i",sourceVideo,"-f","mjpeg","-vframes","1","-ss",str(lengthInSeconds/2),destination], shell=True, stderr=subprocess.PIPE)
    output = ""
    while True:
        out = child.stderr.read(1)
        if out == '' and child.poll() != None:
            break
        if out != '':
            output += out

    updateSQL = "update `videos_graduatevideo` set thumbnail = '" + str(destination) + "' where `original_video` = '" + sourceVideo + "'"
    cursor.execute(updateSQL)
Run Code Online (Sandbox Code Playgroud)

这个脚本在Windows机器上运行,但我可能会在开发完成时将它部署在Unix系统上.

问题是.我需要这个python脚本来继续运行.如果ffmpeg出现问题并且我的脚本挂起,用户上传的视频将处于"挂起"状态,直到我开始查看python脚本.我知道某个mov文件让ffmpeg无限期挂起.在某种程度上,我可以检查一个进程运行了多长时间,然后如果它运行了太长时间就将其终止?

python external-process web

7
推荐指数
1
解决办法
1812
查看次数

如何从ubuntu服务器以编程方式登录到Yahoo

我想从ubuntu服务器上运行的脚本登录我的yahoo帐户.我曾试图将python与机械化一起使用,但我的计划存在缺陷.

这是我目前的代码.

        loginurl = "https://login.yahoo.com/config/login"
        br = mechanize.Browser()
        cj = cookielib.LWPCookieJar()
        br.set_cookiejar(cj)
        br.set_handle_equiv(True)
        br.set_handle_gzip(True)
        br.set_handle_redirect(True)
        br.set_handle_referer(True)
        br.set_handle_robots(False)
        br.set_handle_refresh(mechanize._http.HTTPRefreshProcessor(), max_time=1)
        br.addheaders = [('User-agent', 'Mozilla/5.0 (X11; U; Linux i686; en-US; rv:1.9.0.1) Gecko/2008071615 Fedora/3.0.1-1.fc9 Firefox/3.0.1')]
        r = br.open(loginurl)
        html = r.read()
        br.select_form(nr=0)
        br.form['login']='[mylogin]'
        br.form['passwd']='[mypassword]'
        br.submit()

        print br.response().read()
Run Code Online (Sandbox Code Playgroud)

我得到的回复是雅虎登录页面,带有醒目的红色文本阅读."必须在你的broswer上启用Javascript"或类似的东西.机械化文档中有一节提到用JS创建cookie的页面,但是帮助页面返回HTTP 400(只是我的运气)

弄清楚javascript的功能,然后手动执行它听起来像是一项非常困难的任务.我愿意切换到任何工具/语言,只要它可以在ubuntu服务器上运行.即使这意味着使用不同的工具进行登录,然后将登录cookie传递回我的python脚本.任何帮助/建议表示赞赏.

更新:

  • 我不想使用Yahoo API

  • 我也尝试过scrapy,但我认为同样的问题也会发生

我的scrapy脚本

class YahooSpider(BaseSpider):
name = "yahoo"
start_urls = [
    "https://login.yahoo.com/config/login?.intl=us&.lang=en-US&.partner=&.last=&.src=&.pd=_ver%3D0%26c%3D%26ivt%3D%26sg%3D&pkg=&stepid=&.done=http%3a//my.yahoo.com"
]

def parse(self, response):
    x = HtmlXPathSelector(response)
    print x.select("//input/@value").extract()
    return [FormRequest.from_response(response,
                formdata={'login': '[my username]', 'passwd': '[mypassword]'},
                callback=self.after_login)]

def after_login(self, …
Run Code Online (Sandbox Code Playgroud)

python authentication mechanize beautifulsoup scrapy

7
推荐指数
1
解决办法
3503
查看次数

通常在C#中创建对象

我想要做的是从XML保存文件加载对象.问题是那些对象可以由用户在运行时配置,这意味着我必须使用反射来获取存储在XML文件中的那些对象的名称和属性.

我正处于通过XML的递归循环中间,直到我需要创建一个对象然后想到的部分.....啊 - 不知道怎么做:(

我有一个填充空对象的数组(m_​​MenuDataTypes),每个可能的类型之一.我的递归加载函数看起来像这样

private void LoadMenuData(XmlNode menuDataNode)
{
   foreach (object menuDataObject in m_MenuDataTypes)
   {
       Type menuDataObjectType = menuDataObject.GetType();
       if (menuDataObjectType.Name == menuDataNode.Name)
       {
          //create object
       }
   }
}
Run Code Online (Sandbox Code Playgroud)

我需要在我的评论中放置一些代码,但我不能有一个大的转换语句或任何东西.我的数组中的对象可以根据用户配置应用程序的方式而更改.

c# reflection

6
推荐指数
1
解决办法
323
查看次数

你如何在 Flutter 上使用谷歌地图设置活动标记

我的 Flutter 应用中有一个 GoogleMap。当页面加载时,它会调用 API 并获取我用来创建标记列表的地理位置列表。

我的 GoogleMap 使用此标记列表并且它们显示得很好,但是,我希望其中一个处于活动状态。我在 API 文档中看不到任何内容表明这是可能的。我怎样才能做到这一点?

google-maps dart flutter

6
推荐指数
1
解决办法
1633
查看次数