如何从Coypu获取Selenium IWebDriver和IWebElement?

时间:2018-12-31 23:21:09

标签: c# selenium selenium-webdriver coypu

我最近开始使用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?

1 个答案:

答案 0 :(得分:0)

  

如何从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;