All Projects → Softlr → Selenium.WebDriver.Extensions

Softlr / Selenium.WebDriver.Extensions

Licence: Apache-2.0 license
Extensions for Selenium WebDriver including jQuery/Sizzle selector support.

Programming Languages

C#
18002 projects

Projects that are alternatives of or similar to Selenium.WebDriver.Extensions

frontend testing
Repository containing sample code used in a Frontend Testing workshop
Stars: ✭ 14 (-69.57%)
Mutual labels:  selenium, selenium-webdriver
python-appium-framework
Complete Python Appium framework in 360 degree
Stars: ✭ 43 (-6.52%)
Mutual labels:  selenium, selenium-webdriver
ScatterFly
An attempt to improve user privacy by intelligent data obfuscation.
Stars: ✭ 49 (+6.52%)
Mutual labels:  selenium, selenium-webdriver
selenium-cheatsheet-java
A comprehensive list of selenium commands in Java
Stars: ✭ 20 (-56.52%)
Mutual labels:  selenium, selenium-webdriver
Selenium.HtmlElements.Net
Elements model for Selenium.WebDriver
Stars: ✭ 26 (-43.48%)
Mutual labels:  selenium, selenium-webdriver
TRA-Ticket-Booker
(已不適用新版臺鐵訂票系統,且不再更新)台灣鐵路訂票應用程式(臺鐵 / 台鐵 / 訂單程票 / 訂來回票),基於 Selenium + PyQt4。
Stars: ✭ 26 (-43.48%)
Mutual labels:  selenium, selenium-webdriver
frameworkium-examples
Sample project which utilises frameworkium-core, a framework for writing maintainable Selenium and REST API tests and facilitates reporting and integration to JIRA.
Stars: ✭ 52 (+13.04%)
Mutual labels:  selenium, selenium-webdriver
Cdp4j
cdp4j - Chrome DevTools Protocol for Java
Stars: ✭ 232 (+404.35%)
Mutual labels:  selenium, selenium-webdriver
PhpScreenRecorder
A slim PHP wrapper around ffmpeg to record screen,best for recording your acceptance test using selenium, easy to use and clean OOP interface
Stars: ✭ 44 (-4.35%)
Mutual labels:  selenium, selenium-webdriver
resgen
Keep track of jobs you've applied to, automate resume & cover letter creation; generate PDFs from .odt templates on the fly while scraping the job post and tracking employer status.
Stars: ✭ 31 (-32.61%)
Mutual labels:  selenium, selenium-webdriver
google-meet-bot
Bot for scheduling and entering google meet sessions automatically
Stars: ✭ 33 (-28.26%)
Mutual labels:  selenium, selenium-webdriver
Instagram-Giveaways-Winner
Instagram Bot which when given a post url will spam mentions to increase the chances of winning. Win Instagram Giveaways!
Stars: ✭ 95 (+106.52%)
Mutual labels:  selenium, selenium-webdriver
Lambdium
headless chrome + selenium webdriver in AWS Lambda using the serverless application model
Stars: ✭ 246 (+434.78%)
Mutual labels:  selenium, selenium-webdriver
OpenYspider
千万级图片爬虫、视频爬虫 [开源版本] Image Spider
Stars: ✭ 122 (+165.22%)
Mutual labels:  selenium, selenium-webdriver
Scrape Linkedin Selenium
`scrape_linkedin` is a python package that allows you to scrape personal LinkedIn profiles & company pages - turning the data into structured json.
Stars: ✭ 239 (+419.57%)
Mutual labels:  selenium, selenium-webdriver
selenium-grid-docker-swarm
web scraping in parallel with Selenium Grid and Docker
Stars: ✭ 32 (-30.43%)
Mutual labels:  selenium, selenium-webdriver
Panther
A browser testing and web crawling library for PHP and Symfony
Stars: ✭ 2,480 (+5291.3%)
Mutual labels:  selenium, selenium-webdriver
Steward
PHP libraries that makes Selenium WebDriver + PHPUnit functional testing easy and robust
Stars: ✭ 215 (+367.39%)
Mutual labels:  selenium, selenium-webdriver
spydriver
🕵️ Lightweight utility to intercept WebDriver and WebElement method calls.
Stars: ✭ 24 (-47.83%)
Mutual labels:  selenium, selenium-webdriver
SeleniumDemo
Selenium automation test framework
Stars: ✭ 84 (+82.61%)
Mutual labels:  selenium, selenium-webdriver

.NET codecov Quality Gate Status

Description

Extensions for Selenium WebDriver including jQuery/Sizzle selector support.

Features

Main

  • Support for nested selectors
  • Easy setup: install NuGet package and start using it with your existing Selenium solution
  • High quality ensured by continuous integration setup with Appveyor, unit and integration tests and high code coverage
  • Well documented code using GitBook

jQuery/Sizzle support

  • jQuery/Sizzle selectors support for Selenium WebDriver
  • jQuery/Sizzle auto-load on pages on sites that don't use jQuery
  • Support for context switching
  • Support for ExpectedConditions
  • Support for Page Objects

Installation

Run the following command in Visual Studio Package Manager Console.

Install-Package Selenium.WebDriver.Extensions

Documentation

API documentation can be found on GitBook and user guide is on the wiki.

Usage

Include extensions

Create alias for the extension By to be used.

using By = Selenium.WebDriver.Extensions.By;

If you don't want to override the By to be used, you can always create JQuerySelector and SizzleSelector instances with new keyword.

Basic jQuery example

Invoke jQuery selectors on the WebDriver.

driver.FindElements(By.JQuerySelector("input:visible"))

jQuery Traversing methods

You can also chain jQuery traversing methods.

var selector = By.JQuerySelector("div.myclass").Parents(".someClass").NextAll();
driver.FindElement(selector);

jQuery loading

If the site that you are testing with Selenium does not include jQuery this extension will automatically load the 3.5.1 version when you run any of the Find* methods. If you want you can choose to load a different version of jQuery. The library uses jQuery CDN by default, but if you want to use a completely different source, that's also supported

driver.LoadJQuery("1.11.0"); // load specific version from default CDN
driver.LoadJQuery(new Uri("https://some.server/jquery.js")); // load a library from other source

jQuery variable name

When you create a jQuery selector using By helper class the resulting selector will use jQuery as library variable name. If you site is using a different variable name for this purpose you can pass this value as an optional parameter.

var selector = By.JQuerySelector("div", jQueryVariable: "myJQuery");

jQuery context switch

You can use one JQuerySelector instance as a context of another JQuerySelector.

var context = By.JQuerySelector("div.myClass");
var selector = By.JQuerySelector("ol li", context);
driver.FindElements(selector);

Basic Sizzle example

Invoke Sizzle selectors on the WebDriver.

driver.FindElements(By.SizzleSelector("input:visible"))

Sizzle loading

If the site that you are testing with Selenium does not include Sizzle this extension will automatically load the 2.0.0 version when you run any of the Find* methods. If you want you can choose to load a different version of Sizzle. The library used CloudFlare CDN by default, but if you want to use a completely different source, that's also supported

driver.LoadSizzle("1.11.1"); // load specific version from default CDN
driver.LoadSizzle(new Uri("https://some.server/sizzle.js")); // load a library from other source

Sizzle context switch

You can use one SizzleSelector instance as a context of another SizzleSelector. Contrary to jQuery equivalent of this method, only first element from the context is used. This is because it's a limitation of Sizzle.

var context = By.SizzleSelector("div.myClass");
var selector = By.SizzleSelector("ol li", context);
driver.FindElements(selector);
Note that the project description data, including the texts, logos, images, and/or trademarks, for each open source project belongs to its rightful owner. If you wish to add or remove any projects, please contact us at [email protected].