Javascript Selenium调用函数javascipt

Javascript Selenium调用函数javascipt,javascript,selenium,selenium-webdriver,Javascript,Selenium,Selenium Webdriver,我想在selenium看到并获取页面上链接的文本后调用函数 driver.get("https://www.guerrillamail.com/"); driver.findElement(By.id('inbox-id')).getText().then(function(gm){ address = gm + "@sharklasers.com"; var output = new Buffer(address, 'hex'); console.log(output); mailExists

我想在selenium看到并获取页面上链接的文本后调用函数

driver.get("https://www.guerrillamail.com/");
driver.findElement(By.id('inbox-id')).getText().then(function(gm){
address = gm + "@sharklasers.com";
var output = new Buffer(address, 'hex');
console.log(output);
mailExistsCheck();
var query = driver.wait(until.elementLocated(By.xpath("//*[contains(text(), 'confirm@ksmobile.com ')]")));
query.click();
var query2 = driver.wait(until.elementLocated(By.partialLinkText("iptlogin")));
query2.getText();
var target = query2.getText();
After selenium找到此驱动程序。waituntil.elementLocatedBy.partialLinkTextiptlogin;我想启动一个名为ActivateEmailTarget的函数

我需要做一些类似的事情

var link = target.includes("iptlogin");

if (link = true) {
activateMail(target);
console.log("True");
}

@Devin,如果要使用selenium web驱动程序运行Javascript,请使用JavaScriptExecutor方法,语法如下:

JavascriptExecutor js = (JavascriptExecutor) driver;

js.executeScript(" var link = target.includes('iptlogin'); if (link == true) { activateMail(target); console.log('True'); } ");

您将使用下面的内容

driver.wait(until.elementLocated(By.partialLinkText("iptlogin"))).then(
 () => driver.executeScript("activateMail()")
)
driver.wait(until.elementLocated(By.partialLinkText("iptlogin")))

driver.isElementPresent(by.partialLinkText('iptlogin')).then(
 () => driver.executeScript("activateMail()")
)
或者你甚至可以像下面那样使用它

driver.wait(until.elementLocated(By.partialLinkText("iptlogin"))).then(
 () => driver.executeScript("activateMail()")
)
driver.wait(until.elementLocated(By.partialLinkText("iptlogin")))

driver.isElementPresent(by.partialLinkText('iptlogin')).then(
 () => driver.executeScript("activateMail()")
)

第二,确保元素存在,然后只执行函数。第一个不能保证

那么你面临的问题是什么呢?我想你的定位器会找到你要找的元素。如果找不到,等待将抛出超时异常。如果未引发异常,请调用ActivateEmail。请修复语法错误。您需要使用“而不是”,否则会破坏语法