2017-01-09 99 views
2

我想點擊一個網頁的按鈕,但我不知道如何選擇並點擊Selenium按鈕。選擇並點擊一個帶有C#selenium中的CSS選擇器的按鈕

目標源代碼如下:

<span class="login-bt"> 
<a href="#" onclick="return sChangeURL('GB2101_KAIINLOGIN','https://north2.eplus.jp/sys/main.jsp')" >ログイン</a> 
</span> 

這裏是我的代碼。

using OpenQA.Selenium.Firefox; 
using OpenQA.Selenium; 


class Test 
{ 
static void Main(string[] args) 
{ 
    IWebDriver driver = new FirefoxDriver(); 
    driver.Navigate().GoToUrl("http://north2.eplus.jp/sys/main.jsp?uji.verb=GGWP01_mousikomi&uji.bean=B.apl.web.JOAB070100Bean&uketsukeInfoKubun=001&ZScreenId=GGWA01&_ga=1.146803575.1900392715.1483976716"); 
    IWebElement query = driver.FindElement(By.Id("LoginId")); 
    query.SendKeys("*******@gmail.com"); 

    IWebElement query2 = driver.FindElement(By.Id("LoginPassword")); 

    query2.SendKeys("******"); 


    IWebElement a = driver.FindElement(By.CssSelector("onclick=\"return")); 

    a.Click(); 

} 
} 

我想知道如何選擇並單擊登錄按鈕。謝謝你的閱讀。

+0

這是你的onclick:ログイン ....不是「返回」..我會從那裏開始。 – Aaron

回答

2

您的問題是onclick=\"return不是一個CSS選擇器。

你可以嘗試[onclick~="return"]發現有onclick屬性與價值與return開始元素,但我真的不認爲這是一個好主意。

另一個選項是針對login-bt類中的錨:

span.login-bt a 
+0

謝謝!有效。但我無法清楚地理解這個表達。它是XPath的表達式嗎? – 8berry

+0

其中哪些?在那裏有兩個(呃...實際上沒有一個是xpath) – Dekel

+0

屬性選擇器看起來像XPath謂詞,但是不相關。 – BoltClock

0

理想的情況下,出於性能考慮,你應該把一個ID上的按鈕,如果你有超過所呈現的HTML控制。否則,如Dekel所建議的,關閉父跨度是您的最佳選擇。

相關問題