繁体   English   中英

如何在C#中单击Selenium的JS链接

[英]How to click a JS link with Selenium in C#

我是Selenium的新手,并试图用它来建立一个项目。 我需要学习如何单击JS链接。 页面列出了许多项目。 不幸的是,分页由JS完成。 这是一个例子......

<ul class="pagination museo-700">
    <li class="first hidden disabled">
        <a href="#">First</a>
    </li>
    <li class="prev disabled">
        <a class="arrow" href="#">
            <img src="/areas/site/Content/images/page/pagination-prev-arrow.png">
        </a>
    </li>
    <li class="page active">
        <a href="#" class="active">1</a>
    </li>
    <li class="page">
        <a href="#">2</a>
    </li>
    <li class="page">
        <a href="#">3</a>
    </li>
    <li class="page">
        <a href="#">4</a>
    </li>
    <li class="page">
        <a href="#">5</a>
    </li>
    <li class="next">
        <a class="arrow" href="#">
            <img src="/areas/site/Content/images/page/pagination-next-arrow.png">
        </a>
    </li>
    <li class="last hidden">
        <a href="#">Last</a>
    </li>
</ul>

我想点击页面1.,2.,3.,4。 和5.上面的页面。 请给我一个线索

代码没有经过测试,但我觉得他们应该工作

.page > a:contains("1")
.page > a:contains("2")
.page > a:contains("3")
.page > a:contains("4")
.page > a:contains("5")

要么

//li[contains(@class, 'page')]/a[text()='1']

您可以先使用CSS选择器找到寻呼机,然后按链接文本找到每个链接:

driver.FindElement(By.CssSelector("ul.pagination"))
      .FindElement(By.LinkText("1")).Click();

您还可以使用XPath:

driver.FindElement(By.XPath("//a[@href='#'][text()='1']")).Click();

暂无
暂无

声明:本站的技术帖子网页,遵循CC BY-SA 4.0协议,如果您需要转载,请注明本站网址或者原文地址。任何问题请咨询:yoyou2525@163.com.

 
粤ICP备18138465号  © 2020-2024 STACKOOM.COM