C# webBrowser无法赋值SetAttribute
Posted
tags:
篇首语:本文由小常识网(cha138.com)小编为大家整理,主要介绍了C# webBrowser无法赋值SetAttribute相关的知识,希望对你有一定的参考价值。
在这个网页中http://www.vidc.info/
我要对用户名和密码框进行赋值
webBrowser1.Document.GetElementById("ctl00_body_TextBox_UserName").SetAttribute("value", “aaa”);
webBrowser1.Document.GetElementById("ctl00_body_TextBox_PassWord").SetAttribute("value", “bbb”);
按以上程序输入的结果和手动在页面中输入的效果不一样,这是为什么?
找到一个JS程序
<script type="text/javascript">
$(function ()
$("input[class='loginInput']").watermark('用户名', '用户名');
$("input[class='loginPassword']").watermark('密码', '密码');
);
</script>
怎么可以屏蔽掉这个js呢?
请教如何再运行一次JS,网页客户端源文件大家都能看到,服务器端我没程序。
追答你这样,比如页面有这样的JS代码
// Function Without Parameters
function JavaScriptFunctionWithoutParameters()
outputID.innerhtml = "JavaScript function called!";
return 10;
你可以在你的Webbrowser程序中执行
private void button1_Click(object sender, EventArgs e)
string result = this.webBrowser1.Document.InvokeScript("JavaScriptFunctionWithoutParameters").ToString();
MessageBox.Show(result);
怎么可以知道标签内还有呢?我如果在标签里输入过值再用这个方法就可以对它赋值了,为什么?
参考技术B webBrowser1.Document.GetElementById("ctl00_body_TextBox_UserName").InnerText用这个属性赋值追问
试过了,效果一样
追答我就是这样赋值的.
猜测,页面中是添加有JS效果的.你检查一下
是有js效果,那怎么处理可以不受js影响呢?
以上是关于C# webBrowser无法赋值SetAttribute的主要内容,如果未能解决你的问题,请参考以下文章
解决c#利用WebBrowser截取验证码图片无法获取的问题
C# Uwp app webbrowser 控件无法获取设备位置