1
我想能够自动化点击使用watin在JavaScript中建立的链接的过程。使用watin自动点击链接用JavaScript构建
在网页的源代码中,链接看起来像href =“#”,所以我认为这些链接与Javascript一起工作。
Runscript不支持Javascript代码,如“link.click”。 当我使用“link.flash()”我可以看到链接闪存,所以我确定脚本点击链接,但没有效果(和脚本不会崩溃)。
你有任何想法来解决这个问题吗?
编辑:链接类是自动生成
这里的HTML代码: 所有*的名字自动生成
<div class="******" id="ext-gen***">
<ul class="**********" id="ext-gen***">
<li class="******" id="***************">
<a class"*****" href="#" id="ext-gen***">
<em class="********">
<span class="*******">
<span class="*********"> LINK 1 </span>
</span>
</em>
</a>
</li>
<li class="******" id="***************">
<a class"*****" href="#" id="ext-gen***">
<em class="********">
<span class="*******">
<span class="*********"> LINK 2 </span>
</span>
</em>
</a>
</li>
等.....
是的,这太可怕了,唯一的解决方案是通过Text选择div。
它在Firefox的工具JavaScript中工作,但是当我插入它与Ruin的Runscript,它不起作用。
这里它与RUNSCRIPT代码:
StringBuilder myScript = new StringBuilder();
myScript.AppendLine("javascript: ");
myScript.AppendLine(" var link = document.getElementsByTagName('a'), i;");
myScript.AppendLine(" for (i in link)");
myScript.AppendLine(" {");
myScript.AppendLine(" if ((' ' + link[i].text + ' ').indexOf(' ' + '" + name + "' + ' ') > -1) ");
myScript.AppendLine(" {");
myScript.AppendLine(" link[i].click();");
myScript.AppendLine(" break; ");
myScript.AppendLine(" }");
myScript.AppendLine(" }");
Thread.Sleep(100);
ie.RunScript(myScript.ToString());
它不工作,我编辑我的职务。 –
编辑我的回答 – alonp
它工作吗?如何href =#选择? – MT467