点击元素不工作

本文关键字:工作 元素 | 更新日期: 2023-09-27 18:02:18

你好,我试图用WatiN(dll)点击元素'a',我无法得到这个元素来点击。以前的点击工作正常,但这一个不工作这里是我的代码

var browser = new IE("https://www.tesst.com");
browser2.TableRow(Find.ById("kyos_filaCuenta_00")).FireEvent("onmouseover");
browser2.Link(Find.ById("kyos_enlaceIrAMovsCuenta_EUR0")).Click();
/*i tried this one too
TableCell tb = browser2.TableCell(Find.ByClass("kyos_positionFirstElementTd ancho200   columna0"));
Link link = tb.Link(lnk => lnk.GetAttributeValue("onclick").ToLower().Contains(".close(true)"));
link.Click();
*/

Here Html page

<tbody>
<tr id="kyos_filaCuenta_00" class="cuentaNoFavorita">
<td class="ancho20 kyos_anchoCheckTd">
<td class="kyos_positionFirstElementTd ancho200 columna0">
<a id="kyos_enlaceIrAMovsCuenta_EUR0" class="cursorPointer numCuenta" onclick="kyos_irAMovsCuenta('ES9601824649840201502683','','EUR','','BANCO BILBAO VIZCAYA ARGENTARIA S.A','20199802','false','','VISONIC IBERICA DE SEGURIDAD S.L.');return false;">ES9601824649840201502683</a>
</td>
<td class=" columna1">
</tbody>

点击元素不工作

示例:

        var _driver = new ChromeDriver();// or new IE()
        _driver.Navigate().GoToUrl("https://www.tesst.com");
        _driver.FindElement(By.Id(element)).Click();
        //do what you need
        _driver.Quit();

更合适的方法是设置单元测试,类似于(使用resharper插件运行测试):

[TestFixture]
class LoginTest
{        
    [TestFixtureSetUp]
    public void FixtureSetup()
    {
        _driver = new ChromeDriver();
        _driver.Navigate().GoToUrl("https://www.tesst.com");
    }
    [TestFixtureTearDown]
    public void FixtureTearDown()
    {
        _driver.Quit();
    }
    [TestCase("kyos_enlaceIrAMovsCuenta_EUR0")]
    public void PaywallClosedArticleCommertialTest(string element)
    {
        _driver.FindElement(By.Id(element)).Click();
        //add assert
    }
}  

尝试在T2元素中查找元素,即链接,该元素是父元素

browser2.TableRow(Find.ById("kyos_filaCuenta_00")).Link(Find.ById("kyos_enlaceIrAMovsCuenta_EUR0")).Click();