Я работаю над автоматизацией тестирования сайта, над которым я работаю.Я использую Windows PowerShell для создания сценариев, чтобы сделать это.Моя проблема в том, что мне нужно щелкнуть ссылку, которая открывает другое окно, мне нужна ссылка на это окно, как-нибудь.
$ie = new-object -com "InternetExplorer.Application"
$ie.navigate("http://localhost:4611")
$ie.visible = $true
$doc = $ie.document
$link = $doc.getElementByID('link')
Вот где я получаю ссылку на браузер и ссылку.Затем я нажимаю на ссылку:
$link.click()
, которая открывает новое окно с вещами, которые мне нужно проверить на нем.Как бы я получить ссылку на это новое окно?Технически это не дочернее окно первого.
Я пытался настроить щелчок ссылки на ссылку, подобную этой, но она не работает:
$test = new-object -com "InternetExplorer.Application"
$test = $link.click()
ОБНОВЛЕНИЕ: Вот функция JavaScriptopenwindow, которое вызывается для открытия окна
function openwindow(url, name) {
if (typeof openwindow.winrefs == 'undefined') {
openwindow.winrefs = {};
}
if (typeof openwindow.winrefs[name] == 'undefined' || openwindow.winrefs[name].closed) {
openwindow.winrefs[name] = window.open(url, name, 'scrollbars=yes,menubar=no,height=515,width=700,resizable=no,toolbar=no,status=no');
} else {
openwindow.winrefs[name].focus();
};
};
Функция вызывается в строке кода, которая выглядит следующим образом
column.For(i => "<a href='" + link + i.id + "?status=new' target='pat" + i.id + "'id'enc' onclick='openwindow(this.href,this.target);return false'>
FINAL UPDATE: Я закончилдо этого немного по-другому.Я создал новый объект Internet Explorer, взял ссылку из ссылки, установил все параметры и переместился в окно с помощью powershell, как это делает javascript.
$ie2 = new-object -com "InternetExplorer"
$ie2.visible = $true
$ie2.menubar = $false
$ie2.height = 515
$ie2.width = 700
$ie2.resizable = $false
$link = $doc.getelementbyid('link')
$url = $link.href
$ie2.navigate($url)
Я хотел бы поблагодарить @scunliffe такза помощь в решении этой проблемы.