Как получить Selenium IWebDriver и IWebElement от Coypu? - PullRequest
0 голосов
/ 01 января 2019

Я недавно начал использовать Coypu для автоматизации некоторых задач с помощью веб-браузера.Он отлично работает, особенно при заполнении форм и навигации по ссылкам.

Сейчас я пытаюсь работать с данными таблицы.Я на самом деле хочу взять данные таблицы и в конечном итоге вывести их в текстовый файл с разделением каналов.

Однако я достиг своих ограничений с помощью Coypu и навигации по строкам и столбцам таблицы.Однако есть несколько примеров того, как читать таблицы в коллекции данных.

Как только я достигну определенной точки, я хочу взять объекты Coypu и превратить их в объекты Selenium, чтобы я мог выполнять работу с таблицами, ноКажется, я не могу вытащить это из нутрии.

Вот код теста: Console.WriteLine ("TestMethod1 ()");

IWebDriver webDriver = null;

var sessionConfiguration = new SessionConfiguration()
{
    Browser = Coypu.Drivers.Browser.Firefox,
    AppHost = "http://blabla.com"
};

var browser = new BrowserSession(sessionConfiguration);
browser.Visit("/searches/index");

// Set the start date
browser.FillIn("sdate").With("01/01/2018");
// Set the end date
browser.FillIn("edate").With("12/30/2018");
// Set the city
browser.FindId("city").SelectOption("Chicago");

// Click on submit
browser.ClickButton("Submit");

// Get the table with data
var innerHTML = browser.FindCss("table#dataTable").InnerHTML;
Coypu.Drivers.Selenium.SeleniumWebDriver
//webDriver = (OpenQA.Selenium.IWebDriver)browser.Driver;
//IWebElement curTable = (IWebElement)browser.FindCss("table#dataTable").OuterHTML;
//TablePage page = new TablePage(webDriver);

//Utilities.ReadTable(page.Table);
Console.WriteLine( Utilities.ReadCell("Marker", 1) );

Мои вопросыследующее:

  • Как извлечь Selenium IWebDriver из Coypu BrowserSession?
  • Как извлечь нужную таблицу из Coypu и сделать из нее Selenium IWebElement?

1 Ответ

0 голосов
/ 03 августа 2019

Как извлечь Selenium IWebDriver из Coypu BrowserSession?

С учетом IBrowserSession browserSession:

var nativeDriver = (OpenQA.Selenium.IWebDriver) browserSession.Driver.Native;

Как извлечьстол, который я хочу от Coypu и сделать его Selenium IWebElement?

// Select your table via Coypu
var table = browser.FindCss ("table#dataTable");
// Cast ElementScope.Native to IWebElement
var nativeElement = (OpenQA.Selenium.IWebElement) table.Native;
...