当前位置: 首页 > 知识库问答 >
问题:

硒点击一个链接在 href 在

胡彭亮
2023-03-14

我想用硒点击“?例如,在网站上你点击的按钮会重定向到href,但是当我使用selenium时,什么也没发生。我已经尝试了这么多迭代,也查找了类似的指南,但无济于事。

<div class="content-area">
        <div class="epub">
            <div class="column epub-nav">
                <div class="epub-nav-inner">
                    <div class="epub-meta">
                        <p>uid: 978-9949-559-55-8</p><p>creator: </p><p>publisher: </p><p>subject: </p>                 </div>
                                <nav epub:type="toc" id="toc">
                <ol>
                                        <li>
                        <a href="?currentPage=3">Tööraamatu kasutajale</a>
                    </li>
                                        <li>
                        <a href="?currentPage=4">1. Arvuhulgad ja avaldised</a>
                    </li>
                                        <li>
                        <a href="?currentPage=4">1.1. Arvuhulgad</a>
                    </li>
                                        <li>
                        <a href="?currentPage=7">1.2. Tehted astmete ja juurtega</a>
                    </li>
                                        <li>
                        <a href="?currentPage=11">1.3. Ratsionaalavaldise lihtsustamine</a>
                    </li>

共有1个答案

韩梓
2023-03-14

要在元素上<code>Click()</code>,您必须诱导WebDriver等待<code〕ElementToBeClickable()</code>,您可以使用以下任一定位器策略:

>

  • 链接文本

    new WebDriverWait(driver, TimeSpan.FromSeconds(20)).Until(ExpectedConditions.ElementToBeClickable(By.LinkText("Tööraamatu kasutajale"))).Click();
    

    CssSelector

    new WebDriverWait(driver, TimeSpan.FromSeconds(20)).Until(ExpectedConditions.ElementToBeClickable(By.CssSelector("li > a[href='?currentPage=3']"))).Click();
    

    断续器

    new WebDriverWait(driver, TimeSpan.FromSeconds(20)).Until(ExpectedConditions.ElementToBeClickable(By.XPath("//li/a[@href='?currentPage=3' and text()='Tööraamatu kasutajale']"))).Click();
    

    您可能需要SeleniumExtras.WaitHelpers,您可以使用以下任一解决方案:

    >

  • 链接文本

    new WebDriverWait(driver, TimeSpan.FromSeconds(10)).Until(SeleniumExtras.WaitHelpers.ExpectedConditions.ElementToBeClickable(By.LinkText("Tööraamatu kasutajale"))).Click();
    

    CssSelector

    new WebDriverWait(driver, TimeSpan.FromSeconds(10)).Until(SeleniumExtras.WaitHelpers.ExpectedConditions.ElementToBeClickable(By.CssSelector("li > a[href='?currentPage=3']"))).Click();
    

    断续器

    new WebDriverWait(driver, TimeSpan.FromSeconds(10)).Until(SeleniumExtras.WaitHelpers.ExpectedConditions.ElementToBeClickable(By.XPath("//li/a[@href='?currentPage=3' and text()='Tööraamatu kasutajale']"))).Click();
    

    您可以在以下页面中找到相关的详细讨论:

    • ExpectedConditions.ElementIsVisible返回TimeoutException,即使元素存在

  •  类似资料:
    • "var链接=driver.FindElement(By.XPath("/html/body/div[2]/div[1]/div/div/div/div[1]/div/nav/ol/li[3]"));" 我很难点击li标签中的selenium链接(var links ),尽管它可以用手点击。我已经尝试了许多方法,但还没有找到一个工作;彻底检查stackoverflows已经存在的问题,也无济于事。

    • 问题内容: 我正在尝试通过Selenium进行网络抓取。我的问题很简单:如何找到链接,然后如何单击它?例如:以下是我要网页抓取的HTML: 因此,如您所见,“详细信息”是一个链接。 如何使用Selenium找到该链接并单击它? 问题答案: 您可以使用: 例如: 要单击它,只需调用click方法:

    • 问题内容: 我在网络应用程序中生成普通链接,例如: 当我单击链接时,它将在新页面中显示图片。如果要保存图片,则需要右键单击它并选择“另存为” 我不希望这种行为,我想在单击链接时弹出一个下载框,这可能仅适用于html或javascript吗?怎么样? 如果不是,我想我将不得不编写一个download.php脚本,并以文件名作为参数将其调用到href中…? 问题答案:

    • 我正在做一个网络抓取,我可以在一个特定的链接中获取信息,但是我想通过去那个页面上每个项目的链接来自动化这个过程,然后获取信息回到主页,然后点击下面项目的链接。 网址是:https://ca.iherb.com/c/Vitamins?noi=48 我想点击“加州黄金营养、黄金C、维生素C、1000毫克、60粒蔬菜胶囊”项目,然后点击底部的“查看所有评论”。然后返回主页并单击以下项目的链接。 我使用此

    • 我想按附上的图片点击href链接,我试过下面的代码,但似乎不起作用。请帮帮我. ..... driver.findElement(by.xpath(“//a[@href='careers']”)).click(); ............ 下面是Div标记的HTML内容................. null ........................

    • 问题内容: 我正在用Python练习Selenium,我想使用Selenium获取网页上的所有链接。 例如,我想要http://psychoticelites.com/上所有标签的属性中的所有链接。 我写了一个脚本,它正在工作。但是,它给了我对象地址。我尝试使用标签来获取值,但是,它不起作用。 我当前的脚本: 问题答案: 好吧,您只需要遍历列表即可: 返回元素列表(注意“ elements”的拼写