我想点击网页的按钮,但我不知道如何选择并点击带有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();
}
}
我想知道如何选择并点击登录按钮。谢谢你的阅读。
答案 0 :(得分:2)
您的问题是onclick=\"return
不是css选择器。
您可以尝试[onclick~="return"]
查找onclick
属性的元素,其值以return
开头,但我真的不认为它是一个好主意。
另一种选择是将锚点定位在login-bt
类中:
span.login-bt a
答案 1 :(得分:0)
理想情况下,出于性能原因,如果您可以控制渲染的html,则应该在按钮上放置一个id。否则,像Dekel建议的那样关闭父级是你最好的选择。