本文整理汇总了C#中OpenQA.Selenium.Firefox.FirefoxDriver.FindElementsByClassName方法的典型用法代码示例。如果您正苦于以下问题:C# FirefoxDriver.FindElementsByClassName方法的具体用法?C# FirefoxDriver.FindElementsByClassName怎么用?C# FirefoxDriver.FindElementsByClassName使用的例子?那么恭喜您, 这里精选的方法代码示例或许可以为您提供帮助。您也可以进一步了解该方法所在类OpenQA.Selenium.Firefox.FirefoxDriver
的用法示例。
在下文中一共展示了FirefoxDriver.FindElementsByClassName方法的2个代码示例,这些例子默认根据受欢迎程度排序。您可以为喜欢或者感觉有用的代码点赞,您的评价将有助于系统推荐出更棒的C#代码示例。
示例1: Main
static void Main(string[] args)
{
RemoteWebDriver browser = new FirefoxDriver();
try
{
browser.Navigate().GoToUrl("http://alitrack.ru/");
#region Login
if (browser.FindElementByName("login") != null)
{
browser.FindElementByName("login").SendKeys(cabinet.alitrack.ru.Properties.Settings.Default.UserName);
browser.FindElementByName("pass").SendKeys(cabinet.alitrack.ru.Properties.Settings.Default.Password);
browser.FindElementByXPath("//input[@type='submit']").Click();
}
#endregion
WaitForCompleteXPath(browser, "//a[contains(@href,'tracking')]");
browser.Navigate().GoToUrl("http://cabinet.alitrack.ru/tracking/");
WaitForCompleteXPath(browser, "//a[contains(@href,'tracking')]");
if (browser.PageSource.Contains("trackingCheckAllItems"))
{
#region update
browser.FindElementById("trackingCheckAllItems").Click();
var alert = browser.SwitchTo().Alert();
alert.Accept();
WaitForCompleteXPath(browser, "//div[@id='processingWindow' and contains(@style,'display: none;')]");
var trackingRows = browser.FindElementsByClassName("tracking-row");
foreach (var trackingRow in trackingRows)
{
Console.WriteLine(trackingRow.FindElement(By.ClassName("name")).Text);
string number = trackingRow.GetAttribute("id").Replace("trow", string.Empty);
if (browser.PageSource.Contains(string.Format("id=\"refresh-button{0}\"", number)))
{
browser.FindElementById("refresh-button" + number).Click();
WaitForCompleteXPath(browser, "//div[@id='processingWindow' and contains(@style,'display: none;')]");
}
}
#endregion
#region find new
browser.Navigate().GoToUrl("http://cabinet.alitrack.ru/tracking/");
WaitForCompleteXPath(browser, "//a[contains(@href,'tracking')]");
var trackingNewRows = browser.FindElementsByClassName("tracking-row");
Regex regexButtons = new Regex("<div[^>]*class=\"buttons\"[^>]*>(.*?)</div>", RegexOptions.Compiled | RegexOptions.IgnoreCase);
Regex regexFull = new Regex("<div[^>]*class=\"fullinfo\"[^>]*>(.*?)</div>", RegexOptions.Compiled | RegexOptions.IgnoreCase);
int newCount = 0;
StringBuilder newItems = new StringBuilder();
foreach (var trackingRow in trackingNewRows)
{
Console.WriteLine(trackingRow.FindElement(By.ClassName("name")).Text);
if (!string.IsNullOrEmpty(trackingRow.FindElement(By.ClassName("newSteps")).Text))
{
newCount++;
newItems.AppendLine(regexFull.Replace(regexButtons.Replace(trackingRow.GetAttribute("outerHTML"), string.Empty), string.Empty));
}
}
#endregion
if (newCount > 0)
{
#region Processing
newItems.Replace("class=\"clear\"", "style=\"clear: both;\"");
newItems.Replace("class=\"newSteps\"", "style=\"font-size: 11px;font-weight: normal;color: #a00;display: inline-block;padding: 0 0 0 4px;margin: -5px 0 0 0;vertical-align: top;\"");
newItems.Replace("class=\"info\"", "style=\"padding: 0; overflow: hidden; white-space: nowrap;color: #50749b;\"");
newItems.Replace("class=\"meta\"", "style=\"padding: 3px 0 0 0; display:inline-block;overflow: hidden;color: #97adc3;white-space: nowrap;\"");
newItems.Replace("class=\"name\"", "style=\"font-size: 18px; padding: 9px 0 5px 0; overflow: hidden; color: #50749b; cursor: pointer; white-space: nowrap;\"");
newItems.Replace("class=\"tracking-row hasmoves\"", "style=\"font-family: Arial, Verdana, Tahoma; font-size: 12px; line-height: 1em; margin: 0 0 2px 0; background-color: #d0e7ff; border-radius: 5px;\"");
newItems.Replace("class=\"tracking-row hasexport\"", "style=\"font-family: Arial, Verdana, Tahoma; font-size: 12px; line-height: 1em; margin: 0 0 2px 0; background-color: #bad2ff; border-radius: 5px;\"");
newItems.Replace("class=\"tracking-row haslong\"", "style=\"font-family: Arial, Verdana, Tahoma; font-size: 12px; line-height: 1em; margin: 0 0 2px 0; background-color: #c0b4ff; border-radius: 5px;\"");
newItems.Replace("class=\"tracking-row hascustom\"", "style=\"font-family: Arial, Verdana, Tahoma; font-size: 12px; line-height: 1em; margin: 0 0 2px 0; background-color: #e6ff8c; border-radius: 5px;\"");
newItems.Replace("class=\"tracking-row hasnotrace\"", "style=\"font-family: Arial, Verdana, Tahoma; font-size: 12px; line-height: 1em; margin: 0 0 2px 0; background-color: #ffc994; border-radius: 5px;\"");
newItems.Replace("class=\"tracking-row hasnative\"", "style=\"font-family: Arial, Verdana, Tahoma; font-size: 12px; line-height: 1em; margin: 0 0 2px 0; background-color: #b3fab3; border-radius: 5px;\"");
newItems.Replace("class=\"tracking-row hasarrive\"", "style=\"font-family: Arial, Verdana, Tahoma; font-size: 12px; line-height: 1em; margin: 0 0 2px 0; background-color: #161; color: #b3fab3; border-radius: 5px;\"");
newItems.Replace("class=\"tracking-row haswarning\"", "style=\"font-family: Arial, Verdana, Tahoma; font-size: 12px; line-height: 1em; margin: 0 0 2px 0; background-color: #ffd0d0; color: #50749B; border-radius: 5px;\"");
newItems.Replace("class=\"tracking-row hasrecieved\"", "style=\"font-family: Arial, Verdana, Tahoma; font-size: 12px; line-height: 1em; margin: 0 0 2px 0; background-color: #DDD; border-radius: 5px;\"");
newItems.Replace("class=\"tracking-row\"", "style=\"font-family: Arial, Verdana, Tahoma; font-size: 12px; line-height: 1em; margin: 0 0 2px 0; background-color: #ebeff3; border-radius: 5px;\"");
newItems.Replace("class=\"main\"", "style=\"padding: 0 0 8px 8px; float: left; background-color: #ebeff3; border-radius: 0 5px 5px 0; cursor: pointer; position: relative;\"");
newItems.Replace("class=\"time\"", "style=\"font-size: 10px; line-height: 10px; color: #50749b; text-align: center; padding: 35px 0 0;\"");
newItems.Replace("class=\"icon\" style=\"", "style=\"float: left;width: 60px;height: 60px;border-radius: 5px 0 0 5px; overflow: hidden; cursor: default;background: url(trackicons/0.png) 14px 5px no-repeat;");
newItems.Replace(" class=\"infopos\"", string.Empty);
#endregion
#region Send report
string report = cabinet.alitrack.ru.Properties.Resources.Template.Replace("{NEW}", newItems.ToString());
SmtpClient client = new SmtpClient(cabinet.alitrack.ru.Properties.Settings.Default.SMTP);
MailAddress from = new MailAddress(cabinet.alitrack.ru.Properties.Settings.Default.EmailFrom);
MailAddress to = new MailAddress(cabinet.alitrack.ru.Properties.Settings.Default.EmailTo);
MailMessage message = new MailMessage(from, to);
message.Subject = string.Format("{0} new update from alitrack", newCount);
message.IsBodyHtml = true;
message.Body = report;
client.Send(message);
//.........这里部分代码省略.........
示例2: ShouldAddTwoBookingsToOrderInFirefox
public void ShouldAddTwoBookingsToOrderInFirefox()
{
//open Firefox
var driver = new FirefoxDriver();
//first delete any existing orders
driver.Navigate().GoToUrl(TestDomain + "individuals-and-families/your-courses.aspx");
var deleteButtons=driver.FindElementsByClassName("deleteOrderLineButton");
foreach (var deleteButton in deleteButtons)
{
deleteButton.Click();
}
//go to course information page
driver.Navigate().GoToUrl(TestDomain+"individuals-and-families/courses/2013/fm/identifying-clovers,-medicks-and-vetches-40531.aspx");
//select submit button for booking option
IWebElement button1 = driver.FindElement(By.Name("24789"));
//click button (and execute jQuery to add booking option to basket)
driver.ClickButton(button1);
//wait for JQuery to complete
waitForJQuery(driver);
//go to basket page
driver.Navigate().GoToUrl(TestDomain+"individuals-and-families/your-courses.aspx");
IWebElement orderTotal = driver.FindElement(By.ClassName("paymentTotal"));
//check that cart total is £248
Assert.IsTrue(orderTotal.Text == "£248.00");
driver.Navigate().GoToUrl(TestDomain+"individuals-and-families/courses/2013/rc/walking-hidden-wales-40889.aspx");
IWebElement button2 = driver.FindElement(By.Id("25039"));
//click button (and execute jQuery to add booking option to basket)
driver.ClickButton(button2);
//wait for JQuery to complete
waitForJQuery(driver);
//go to basket page
driver.Navigate().GoToUrl(TestDomain+"individuals-and-families/your-courses.aspx");
orderTotal = driver.FindElement(By.ClassName("paymentTotal"));
//check that cart total is £282
Assert.IsTrue(orderTotal.Text == "£658.00");
//find Special Requirements textbox
IWebElement specialRequirementsTextBox = driver.FindElement(By.Id("specialRequirements"));
specialRequirementsTextBox.Clear();
specialRequirementsTextBox.SendKeys("These are my special requirements");
//submit special requirements
IWebElement specialRequirementsButton = driver.FindElement(By.ClassName("updateSpecialRequirements"));
driver.ClickButton(specialRequirementsButton);
//IWebElement infoBox = driver.FindElement(By.ClassName("info-box"), 10);
//Assert.IsTrue(infoBox.Text == "You have successfully updated your special requirements!");
//specialRequirementsTextBox = driver.FindElement(By.Id("specialRequirements"));
//Assert.IsTrue(specialRequirementsTextBox.Text == "These are my special requirements");
//go to checkout
IWebElement checkoutButton = driver.FindElement(By.Id("CheckoutButton"));
driver.ClickButton(checkoutButton);
//find username field
IWebElement userNameTextBox = driver.FindElement(By.Id("Login_Email"), 10);
userNameTextBox.SendKeys("[email protected]");
//find password field
IWebElement passwordTextBox = driver.FindElement(By.Id("Login_Password"));
passwordTextBox.SendKeys("123");
//click login button
IWebElement loginButton = driver.FindElement(By.Id("LoginButton"));
driver.ClickButton(loginButton);
orderTotal = driver.FindElement(By.ClassName("paymentTotal"), 10);
//check that cart total is £658
Assert.IsTrue(orderTotal.Text == "£658.00");
specialRequirementsTextBox = driver.FindElement(By.Id("specialRequirements"));
Assert.IsTrue(specialRequirementsTextBox.Text == "These are my special requirements");
driver.Quit();
}