在C#selenium

时间:2017-01-09 16:58:25

标签: c# selenium css-selectors

我想点击网页的按钮,但我不知道如何选择并点击带有Selenium的按钮。

目标来源如下:

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

}
}

我想知道如何选择并点击登录按钮。谢谢你的阅读。

2 个答案:

答案 0 :(得分:2)

您的问题是onclick=\"return不是css选择器。

您可以尝试[onclick~="return"]查找onclick属性的元素,其值以return开头,但我真的不认为它是一个好主意。

另一种选择是将锚点定位在login-bt类中:

span.login-bt a

答案 1 :(得分:0)

理想情况下,出于性能原因,如果您可以控制渲染的html,则应该在按钮上放置一个id。否则,像Dekel建议的那样关闭父级是你最好的选择。