2017-01-09 1 views
2

Ich möchte auf eine Schaltfläche einer Webseite klicken, aber ich weiß nicht, wie Sie eine Schaltfläche mit Selenium auswählen und klicken.wählen und klicken Sie auf eine Schaltfläche mit CSS-Selektor in C# selen

Die Zielquelle ist unter:

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

Hier ist mein Code.

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(); 

} 
} 

Ich möchte wissen, wie Sie die Login-Schaltfläche auswählen und klicken. Danke fürs Lesen.

+0

Dies ist Ihr onclick: ログイン .... nicht "Rückkehr" .. Ich würde dort anfangen. – Aaron

Antwort

2

Ihr Problem ist, dass onclick=\"return kein CSS-Selektor ist.

können Sie [onclick~="return"] versuchen Elemente zu finden, die onclick Attribut mit dem Wert mit return beginnt, aber ich glaube wirklich nicht, ist es eine gute Idee.

Eine weitere Option ist der Anker in der login-bt Klasse Ziel:

span.login-bt a 
+0

Danke! Es funktionierte. Aber ich konnte den Ausdruck nicht klar verstehen. Ist es ein Ausdruck von XPath? – 8berry

+0

Welche von ihnen? Es gibt zwei da (naja ... eigentlich ist keiner von ihnen xpath) – Dekel

+0

Attribut Selektoren sehen aus wie XPath Prädikate, sind aber ansonsten nicht verwandt. – BoltClock

0

Idealerweise aus Performance-Gründen sollten Sie wahrscheinlich eine ID auf die Schaltfläche setzen, wenn Sie die Kontrolle über den HTML-Code haben, die gerendert wird. Andernfalls ist das Abhaken der Elternspanne, wie von Dekel vorgeschlagen, die beste Option.

Verwandte Themen