C# - 通过JavaScript

时间:2015-09-25 17:15:27

标签: javascript c# html selenium phantomjs

我遇到了以下C#的情况和问题,但没有在网上找到真正的解决方案。

程序应该点击特定页面上的按钮。它可以通过两种不同的方式完成。 此页面包含我想要执行的外部JavaScript。 所以点击按钮不是通过[element] .InvokeMember(“click”) 但是通过[webBrowser] .InvokeScript([...])执行

但它没有用。

我无法确定它是否会打开另一个窗口(导致浏览器在后台不可见)。

所以:我现在问 - 有没有办法确定这个或我做错了什么D:?

感谢任何帮助。谢谢=)!

我执行javascript的方法(浏览器是一个System.Windows.Controls对象) - 它应该在steamcommunity市场购买一件商品 - 但它没有:

 browser.Navigate([page]);
 browser.InvokeScript("method", new object[] { "'[String]'", "'" + [Integer] + "'", [Integer], "'[Integer]'", "'" + [Integer] + "'" });

/

 browser.Navigate("http://steamcommunity.com/market/listings/730/PP-Bizon%20%7C%20Sand%20Dashed%20%28Field-Tested%29");
 browser.LoadCompleted += webBrowser_PageLoaded;

在webBrowser_PageLoaded中:

 browser.InvokeScript("BuyMarketListing", new object[] { "'listing'", "'" + listingid + "'", 730, "'2'", "'" + assetid + "'" });

更新1: http://www.seleniumhq.org/这会打开一个新窗口。这可以在后台完成而无需打开新的吗?并且:我没有让cookie工作= /

更新2: 使用Selenium + PhantomJS解决窗口问题

现在仍然存在我无法对打开的新输入表单做出反应的问题。 + 问题2:Cookie仍然无效

1 个答案:

答案 0 :(得分:0)

我不完全确定你要做什么,但似乎你正在通过模仿按钮点击进行一些自动UI测试。有一个名为selenium的工具可以进行自动UI测试,并且使用相对容易。

http://www.seleniumhq.org/