我想在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();
aftter selenium发现这个driver.wait(until.elementLocated(By.partialLinkText("iptlogin")));
我想启动一个名为activateMail(target)
的函数。
我需要做一些与此相似的事情
var link = target.includes("iptlogin");
if (link = true) {
activateMail(target);
console.log("True");
}
答案 0 :(得分:1)
@Devin,如果您想使用JavascriptExecutor js = (JavascriptExecutor) driver;
js.executeScript(" var link = target.includes('iptlogin'); if (link == true) { activateMail(target); console.log('True'); } ");
方法运行带有selenium web驱动程序的Javascript,请使用以下语法:
func tableView(_ tableView: UITableView, cellForRowAt indexPath: IndexPath) -> UITableViewCell {
let cellIdentifier : String = "periodCell";
var cell : periodCell! = tableView.dequeueReusableCell(withIdentifier: cellIdentifier) as! periodCell ;
if (cell == nil) {
cell = periodCell.init(style: UITableViewCellStyle.default, reuseIdentifier: cellIdentifier);
}
let periodData = arrPeriod.object(at: indexPath.row) as? FinalRoutineDataModel
cell.lblPeriod.text = periodData!.period
cell.lblTeacher.text = periodData!.reacher
cell.lblStartTime.text = periodDa!ta.start_time
cell.lblEndTime.text = periodData!.end_time
cell.lblSubject.text = periodData!.subject
return cell;
}
答案 1 :(得分:0)
您将使用以下内容
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()")
)
第二个确保元素存在然后只执行该函数。第一个人不保证