Я пишу сценарий PowerShell, который требует использования Microsoft Edge (интернет-проводник заблокирован администратором) и должен щелкнуть ссылку на веб-сайте. Мне было интересно, как лучше всего это сделать?
Я попытался запустить процесс запуска Microsoft Edge, но он не позволяет мне взаимодействовать с сайтом при открытии.
запустить Microsoft Edge: "https://google.com"
Я согласен с предложением @kuzimoto о том, что вы не сможете щелкнуть ссылку с помощью команды PowerShell.
Вы можете попробовать скачать веб-драйвер Selenium по ссылке ниже.
Это пример кода, чтобы открыть определенную веб-страницу и щелкнуть ссылку на странице, используя код Selenium С#:
using System;
using System.Collections.Generic;
using System.Linq;
using System.Text;
using System.Threading.Tasks;
using OpenQA.Selenium;
using OpenQA.Selenium.Edge;
using OpenQA.Selenium.Support.UI;
namespace ConsoleApp2
{
class Program
{
static void Main(string[] args)
{
IWebDriver driver = new EdgeDriver();
driver.Navigate().GoToUrl(@"C:\Users\panchals\Desktop\tests\login_form.html");
try
{
driver.FindElement(By.Name("demo_link")).Click();
}
catch (Exception e)
{
Console.WriteLine(e.Message);
}
Console.ReadKey();
driver.Quit();
driver.Close();
}
}
}
HTML-код страницы:
<!DOCTYPE html>
<html>
<head>
<title>Login Form</title>
<script>
function abc()
{
alert("Logged in successfully.");
}
function xyz()
{
alert("Link clicked by selenium code....");
}
</script>
</head>
<body>
<form action = "">
<div class = "container">
<label for = "uname"><b>Username :</b></label>
<input type = "text" placeholder = "Enter Username" name = "uname"><br>
<label for = "psw"><b>Password : </b></label>
<input type = "password" placeholder = "Enter Password" name = "psw"><br>
<button type = "submit" name = "signIn" onclick = "abc()">Login</button><br>
<a href = "" id = "demo_link" name = "demo_link" onclick = "xyz()">Click me.......</a>
</form>
</body>
</html>
Вывод в MS Edge:
Вы не можете напрямую взаимодействовать с Edge с помощью PowerShell. Но вы можете использовать Вебдрайвер, чтобы предоставить API, который позволит вам это сделать. Я бы предложил изучить это, и после того, как вы запустили сценарий, отправьте сообщение о любых проблемах.