2015-09-25 61 views
0

我遇到了以下C#的情況和問題,但並未在網上找到真正的解決方案。C# - 通過JavaScript點擊按鈕

程序應該點擊特定頁面上的按鈕。它可以以兩種不同的方式完成。 此頁面包含我想要執行的外部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/這將打開一個新窗口。這可以在沒有打開新的背景下完成嗎?和:我沒有得到餅乾工作=/

更新2: 解決與硒+ PhantomJS窗口問題

現在仍然存在,我無法打開新的輸入形式反應問題。 + 問題2:餅乾仍然不起作用

+0

請發佈您嘗試過的代碼和按鈕代碼。也有你試圖顯示的東西,如果按鈕被點擊? – deathismyfriend

+0

呵呵?你不能確定是否點擊一個按鈕打開另一個窗口? –

+0

它@Deathismyfriend =)! – TehRialHolk

回答

0

我不完全確定你正在嘗試做什麼,但似乎你正在通過模仿按鈕點擊做一些自動UI測試。有一種稱爲硒的工具可以進行自動UI測試,並且相對容易處理。

http://www.seleniumhq.org/

+0

這似乎很有趣。感謝您的回答=)! - 我會仔細看看的。 – TehRialHolk

+0

嗯,這會打開一個窗戶。這可以在沒有打開新的背景下完成嗎?而且:我沒有讓cookies工作= /。 – TehRialHolk