2

我最近开始使用 Coypu 通过 Web 浏览器自动执行一些任务。它工作得很好,尤其是在填写表格和导航链接时。

现在,我正在尝试使用表数据。我实际上想获取表数据并最终将其转储到管道分隔的文本文件中。

但是,我已经达到了 Coypu 的限制,并且在表格行和列中导航。但是,有几个示例说明如何将表读入数据集合。

一旦我达到某个点,我想获取 Coypu 对象并将它们变形为 Selenium 对象,这样我就可以完成桌面工作,但我似乎无法从 Coypu 中得到它。

这是测试代码: 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) );

我的问题如下:

  • 如何从 Coypu BrowserSession 中提取 Selenium IWebDriver?
  • 如何从 Coypu 中提取我想要的表格并使其成为 Selenium IWebElement?
4

1 回答 1

1

如何从 Coypu BrowserSession 中提取 Selenium IWebDriver?

给定一个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;
于 2019-08-03T16:37:09.247 回答