#c# #selenium-webdriver
#c# #селен-веб-драйвер
Вопрос:
Я искал некоторое время и, похоже, ничего не могу найти на c# по этому поводу, только java и другие языки. Кто-нибудь знает, как/если это возможно, и может привести простой пример или указать мне документацию, доступную для чтения?
Очень благодарен 🙂
Ответ №1:
Вы можете напрямую передать экземпляр драйвера через конструктор, как это;
public class Program { private static void Main() { var driver = new ChromeDriver(); var instance = new AnotherClass(); instance.DoSomething(); Console.ReadKey(true); } } public class AnotherClass { private readonly IWebDriver _driver; public AnotherClass(IWebDriver driver) { _driver = driver; } public void DoSomething() { _driver.Navigate().GoToUrl("https://www.facebook.com/"); } }
Или вы можете сохранить свой драйвер в свойстве и сделать свой основной класс статичным, чтобы вы могли получить к нему доступ из любого другого класса.
Комментарии:
1. Кажется, я могу сделать это в одном и том же файле, но я пытался сделать это в разных файлах (используйте один и тот же драйвер в script1.cs, а затем передайте его в script2.cs).
2. @TugaInVegas, не имеет значения, находится ли это в одном файле или нет. Представьте, что класс программы находится в файле script1.cs, а другой класс-в файле script2.cs.
3. Хорошо, значит, я должен как-то импортировать или вызывать другой класс правильно? Извините за глупые вопросы, но меня попросили очень быстро сделать кое-что из селена на c#, и я пытаюсь овладеть этим.
4. Да! Вы можете получить доступ к другим классам из других файлов.