Javascript Selenium从页面上的元素获取链接

Javascript Selenium从页面上的元素获取链接,javascript,selenium,selenium-webdriver,hyperlink,selenium-chromedriver,Javascript,Selenium,Selenium Webdriver,Hyperlink,Selenium Chromedriver,在我的程序中,我能够找到元素并单击它,因此我知道我有正确的元素,但是当尝试获取链接文本时,它返回Promise{}而不是链接,我现在使用的是此代码 target = driver.wait(until.elementLocated(By.partialLinkText("iptlogin"))).getText(); 如果有帮助的话,它也是电子邮件中的超链接 target = driver.wait(until.elementLocated(By.partialLinkText("iptlog

在我的程序中,我能够找到元素并单击它,因此我知道我有正确的元素,但是当尝试获取链接文本时,它返回
Promise{}
而不是链接,我现在使用的是此代码

target = driver.wait(until.elementLocated(By.partialLinkText("iptlogin"))).getText();
如果有帮助的话,它也是电子邮件中的超链接

target = driver.wait(until.elementLocated(By.partialLinkText("iptlogin"))).getAttribute("src");
试试这个:


尝试以下操作:

如果您使用的是异步js selenium Web驱动程序,则必须等待文本可用。将看起来像:

driver.wait(until.elementLocated(By.partialLinkText("iptlogin"))).then(function() {
    //... Element is Available in DOM

    driver.findElement(By.partialLinkText("iptlogin")).getAttribute("href").then(function(resolvedLink) {
        //Here the Link is available in Webdriver-Client
         console.log("Link HREF: "+resolvedLink);
    });

    driver.findElement(By.partialLinkText("iptlogin")).getText().then(function(resolvedText) {
        //Here the Text is available in Webdriver-Client
         console.log("Link Text: "+resolvedText);
    });
});

如果您使用的是异步js selenium Web驱动程序,则必须等待文本可用。将看起来像:

driver.wait(until.elementLocated(By.partialLinkText("iptlogin"))).then(function() {
    //... Element is Available in DOM

    driver.findElement(By.partialLinkText("iptlogin")).getAttribute("href").then(function(resolvedLink) {
        //Here the Link is available in Webdriver-Client
         console.log("Link HREF: "+resolvedLink);
    });

    driver.findElement(By.partialLinkText("iptlogin")).getText().then(function(resolvedText) {
        //Here the Text is available in Webdriver-Client
         console.log("Link Text: "+resolvedText);
    });
});

你需要链接还是文本?我需要链接!你需要链接还是文本?我需要链接!感谢您的输入,但对于我需要的文本,它将返回一个空值实际链接使用href属性或getText()编辑我的文本谢谢powerpete,您的.getText();创造了奇迹。它得到了链接的文本供我稍后拆分,感谢您的帮助。感谢您的输入,但它返回的文本为空值我需要实际链接使用href属性或getText()编辑谢谢powerpete,你的.getText();创造了奇迹。它得到了链接的文本供我稍后拆分,感谢您的帮助。这不应该是
.getAttribute(“href”)
?它基于我们的HTML标记值…如果我们的HTML标记包含href和viceversa,我们可以使用href。这不应该是
.getAttribute(“href”)吗
?它基于我们的HTML标记值……如果我们的HTML标记包含href和viceversa,我们可以使用href。