florentbr / seleniumbasic Goto Github PK
View Code? Open in Web Editor NEWA Selenium based browser automation framework for VB.Net, VBA and VBScript
License: BSD 3-Clause "New" or "Revised" License
A Selenium based browser automation framework for VB.Net, VBA and VBScript
License: BSD 3-Clause "New" or "Revised" License
Hi Dear florentbr!
Thanks allot for replying last issues which I submitted due to being newbie. As I come to know that PhantomJS driver offers onInitialized callback is invoked after the web page is created but before a URL is loaded. The callback may be used to change global objects.
I want to know how can we override this object to let our source/piece of code to be run every time once a new webpage object is created before the URL is loaded. I want to add some methods/functions to be run on webpage is created.
for example clicking on a[_blank] link cause open new page but before created the new page my code may be run once.
As described at http://phantomjs.org/api/webpage/handler/on-initialized.html
var webPage = require('webpage');
var page = webPage.create();
page.onInitialized = function() {
page.evaluate(function() {
document.addEventListener('DOMContentLoaded', function() {
console.log('DOM content has loaded.');
}, false);
});
};
But how do I add some code to be run once the webpage instance is initialized in SeleniumBasic 2.0.6 using VBA or VB6.
Thanks
I stored a local CRX file and tried to set this up for use in chrome.
I receive the abovementioned error when starting the webdriver.
First, thank you for all you do.
I'm trying the sample vbs scripts and receive the following error
c:\Users\shawn\temp>"DownloadFile(Chrome).vbs"
Microsoft (R) Windows Script Host Version 5.8
Copyright (C) Microsoft Corporation. All rights reserved.
C:\Users\shawn\temp\DownloadFile(Chrome).vbs(12, 3) Microsoft VBScript runtime error: ActiveX component can't create object: 'Selenium.ChromeDriver'
Click OK to close the browser
C:\Users\shawn\temp\DownloadFile(Chrome).vbs(23, 3) Microsoft VBScript runtime error: Object required: 'driver'
What's interesting is the Excel examples work fine.
I've tried registering the selenium.dll with both regasm and regsrv32 without success.
I'd be grateful for any insight.
Thank you.
Hi Florent,
Another question.
When I read the driver and findElement with Xpath ("//button") the page shows an browser alert (popup).
Afther this I like to continue and create a screenshot.
To pass this I try to read by xpath the "//body", in case error, I switch to Alert and create screenshot (so for all other actions without error the macro is not slowed down when looking for the alert window)
For Chrome this works fine, but Firefox and IE seem to hide the Alert popup.
Do you recognize this and know why, and can I solve this somehow?
(I'm using the late binding with the CreateObject2 as your provided xlsm without registration.)
Hi florentbr!
Your work is really impressive! You make us possible to work with Selenium C# based to VBA, and Old versions of VisualBasic VB5, VB6 etc.
I am confusing using waiter.until method in VB6. As in help file it says it Waits for delegate function to return not null or true. But in VB6 how do we declare such delegate function and pass it to waiter.until method?
Private driver As Selenium.WebDriver
Private waiter As Selenium.waiter
Private Assert As Selenium.Assert
Public Function allIFramesLoaded() As Boolean
driver.SwitchToNextWindow
Assert.Equals "New Window", driver.Title
'Switch to the previous activated window
driver.SwitchToPreviousWindow
Assert.NotEquals "New Window", driver.Title
allIFramesLoaded = True
End Function
Private Sub takeTest_Click()
Set driver = New FirefoxDriver
Set waiter = New Selenium.waiter
Set Assert = New Selenium.Assert
driver.get "http://the-internet.herokuapp.com/windows"
' code to check if all IFRames as loaded
driver.FindElementByCss(".example a").Click
waiter.Until allIFramesLoaded, 1
Debug.Print "Website is loaded completely"
End Sub
The command waiter.Until allIFramesLoaded, 1 returns error and says "Invalid argument at position 0. A function is expected.".
Please help me understand about how to use waiter.until method and how to declare such delegate function in VB6. Does VB6 supports delegate functions/actions if yes then how can we accomplish this. Thanks.
Could you provide an example for how these should work? I start with
Set myObj = selenium.FindElementByID("TheObject")
myPoint = myObj.Location
and once I get to that part I'm unable to do anything with the point that I just created. The API says I can call myPoint.ToString but the intellisense doesn't recognize ToString as a valid function and it throws an error saying "Object required: 'myPoint'" when I try using it.
I would like to be able to use this function to see the x, y coordinates for any object on the page.
Thanks for all the great work you do on this project.
Hi Florent,
New question. Is there a way to get all the attributes of a webelement?
If I dimension e as Webelement I can check the attributes: IsDisplayed, IsEnabled, IsSelected, tagname
within the control pane.
Of course, I can retrieve attributes with e.attribute, but I need to name the attribute.
I'm trying to help my users with creating an xpath / css selector. So if there is a way to retrieve an xpath location or css from the webelement, that's even better. (as input to locate the elements:)
Funcion getElements(searchString as String)
dim e as Webelement
dim driver as Webdriver
For each e in driver.FindElementsByXPath("//*[contains(text(),'" & searchString & "')]")
listbox1.add e.text '& " " & e.xpath
Next
Thanks!
When I execute this code
Set selenium = CreateObject("Selenium.ChromeDriver")
selenium.SetCapability "debuggerAddress", "127.0.0.1:38947"
selenium.Start
set myObj = selenium.FindElementByID("aWebElement*")
selenium.Actions.DragAndDropByOffset(myObj, 25, 0).Perform
I get this error
UnknownError
unknown error: at least an element or offset should be set
(Session info: content shell=)
(Driver info: chromedriver=2.19.346078 (6f1f0cde889532d48ce8242342d0b84f94b114a1),platform=Windows NT 6.1 SP1 x86_64)
If I passed the parameters as (myObj, 25, 1) then it works fine. Every value seems to work (including negative numbers) except for passing zero. I searched around and couldn't find anywhere that said this was just a general Selenium limitation so I thought I'd see if you had any ideas.
Thanks always for the awesome help
Hi Dear Florentbr!
I have a little question about how to make a POST request submitting with some variables and values without HTML forms. For example I want to start a POST request directly instead of opening first login page, filling form values and then submit form.
How to submit values with POST request to a page. Thanks.
I wonder if there is an easy method to check without having Firefox started. Starting an incompatible Version ends in the calling VBA Programm stopping due to a timeout error or looping endless. Both is not really favourable :-)
Hello Florent,
I found a problem with the updated driver.
Below ist the code that worked with Release v2.0.5.0 but not with Release v2.0.6.0
The last instruction
driver.FindElementByXPath_("(//a@id='ctl00_ctl10_ProductOverviewTable_ProductGrid_DerivativeLever_desc'])[2]").Click
is not working with the new Version. Could you please check for this?
Here is the code:
#If VBA7 Then
Private Declare PtrSafe Sub Sleep Lib "kernel32" (ByVal ms As LongPtr)
#Else
Private Declare Sub Sleep Lib "kernel32" (ByVal ms As Long)
#End If
Public driver As New Selenium.FirefoxDriver
Public By As New By, Assert As New Selenium.Assert, Verify As New Selenium.Verify, Waiter As New Selenium.Waiter
Public Utils As New Selenium.Utils
Public keys As New Selenium.keys
Sub Test()
Dim Tempstr As String, helpstring As String
driver.Start "firefox", "https://www.xmarkets.db.com/DE/Produkt_Uebersicht/WAVEs_XXL_Put"
driver.Timeouts.ImplicitWait = 3000
driver.Timeouts.Script = 3000
driver.Timeouts.Server = 60000
driver.Timeouts.PageLoad = 60000
driver.Get "/"
driver.FindElementById("ctl00_leftNavigation_ctl00_asidebar-tab-navigation_DerivativeFilter_DerivativeLever_rightAmount").Click
helpstring = "document.getElementById('ctl00_leftNavigation_ctl00_asidebar-tab-navigation_DerivativeFilter_DerivativeLever_rightAmount').value='" & 20 & "'"
driver.ExecuteScript (helpstring): Sleep 100
driver.FindElementById("ctl00_leftNavigation_ctl00_asidebar-tab-navigation_DerivativeFilter_DerivativeLever_rightAmount").SendKeys (keys.Enter)
Sleep 5000
Tempstr = driver.FindElementByCss("span.title-sub.small").Text
driver.FindElementByXPath("(//a[@id='ctl00_ctl10_ProductOverviewTable_ProductGrid_DerivativeLever_desc'])[2]").Click
End Sub
unfortunately lot of changes require a migraiton of coding susing the Selenium Wrapper. Documentaiton what to change would be helpful.
Hi guys this is probably a foolish question but it may help a lot of people that are not experts like me may come in here asking the same thing and prevent them from asking this again.
I uninstalled the old selenium wrapper v 1.0.23.0 and installed the new seleniumbasic.
a lot of my old syntax does not work is this supposed to happen?
like for example
selenium.Type "id= userbaser", "hello"
I am getting errors like missing object
I am trying to save screen images using Chrome and ctrl-s. I am using atu.utils.windows.handler.WindowHandler to enter data in the download window. I set the option to down load "Webpage Complete". This should send an html file and a directory with the same name to the download directory. The directory with all of the support files is saved but the html file is not. The download indicator on the screen says it is download but it apparently is getting deleted or is never downloaded.
I am working in SeleniumBasic2.0.6 with Ghost/Phantomjs driver. Doesn't it support Flash Player if i want to perform tests on video sites such as YouTube or any other site which needs Flash Player to be installed to play video.
Please help me about can we add using capabilities of phantomjs or what is the best solution of it?
Hi Florentbr,
i want to know, in this current version will i be able to use Selenium with AutoIT.
I want to automate a pop-up window which works only when i integrate Selenium with AutoIT.
i have to call an .exe file of AutoIT in selenium code.
whether i will be able to use the same code in Selenium VBA.
if yes can you help me with the code.
Dear florentbr!
Please help me know about how to resize phantomjs driver window size. I have tried all of the bellow:
None of the above is working. I am using SeleniumBasic 2.0.6.
Hi
I used to use the old selenium 1 and I am new to selenium 2.0. I am have difficulties selecting items in a drop down menu. what is the syntax to do this?
also how to I iterate through a table?
Does anyone happen to know a helpful website where I can find the proper vba syntax for selenium 2?
thanks
Hello!
I am porting from SeleniumVBA to SeleniumBasic.
Operating system : Windows7
Office Version : 2013
SeleniumWrapper version : 1.0.23
SeleniumBasic version : 2.0.2.0
I Run a batch file with Windows task scheduler every day.
This batch file defines Excel + VBA(including Selenium) run.
((batch file))
SET EXCEL_EXE=C:\Program Files\Microsoft Office 13\root\office13\excel.exe
SET EXCEL_FILE1=C:\sample.xlsm
START "" "%EXCEL_EXE%" "%EXCEL_FILE1%"
VBA calls WebDriver below the code.
((SeleniumVBA))
Dim driver as SeleniumWrapper.WebDriver
Set driver = New SeleniumWrapper.WebDriver
driver.Start "firefox", "https://www.google.co.uk"
((SeleniumBasic))
Dim driver as FirefoxDriver
Set driver = New FirefoxDriver
driver.Start "https://www.google.co.uk"
When a batch file (VBA calls SeleniumVBA) run by Windows task scheduler, Both Excel and FirefoxDriver run.
But when a batch file (VBA calls SeleniumBasic) run by Windows task scheduler, Excel run and FirefoxDriver doesn't run!
Error message is "Object variable or With block variable not set (Error 91)".
When a batch file (VBA calls SeleniumBasic) run by logon user, Both Excel and FirefoxDriver run.
So Would you tell me how can I do porting from SeleniumVBA to SeleniumBasic about Windows task scheduler settings?
Thanks.
Here after partial code used in 1.0.23.0 on Firefox.
I've migrated wih last version due to Firefox upgrade for security
With last version I got error due to missing method.
My code get data from html table; and I can't use vba code to extract table now.
What solution can you propose as workaround or integration of missing method.
Dim MyDriver As New FirefoxDriver
MyDriver.Get "https://www.server.com" 'my https server.
MyDriver.setTimeout ("120000")
MyDriver.setImplicitWait (30000)
MyDriver.waitForTitle "Title"
MyDriver.waitForText "Text to be present"
MyArray(0) = MyDriver.getTable("css=table.name.1.1")
hi
I am trying to select multiple links / element ids. But in order to select more than one manually I have to hold the control button on my keyboard then select the next link / element id in order for them both to be highlighted. How can I do this on selenium?
here is part of the code to select one option
chromex.findElementById("ctl00_ContentPlaceHolder1_PgCntrl_CreateUserWizard_AvailableRoles_LBI0T0").click
here another link/element id
chromex.findElementById("ctl00_ContentPlaceHolder1_PgCntrl_CreateUserWizard_AvailableRoles_LBI1T0").Click
I tired putting chromex.Keyboard.Keys.Control
in between those two links but I get the error "invalid use of property"
thanks
hi florentbr,
thanks so much for the help and sorry I have a lot of questions due to me trying to figure out how to code in selenium 2,0. I ask you a question you you prvided a code
Private Sub Handle_Multi_Select()
Dim driver As New FirefoxDriver, Keys As New Keys
driver.Get "http://odyniec.net/articles/multiple-select-fields"
Dim ele As WebElement
For Each ele In driver.FindElementsByXPath("//select[@name='ingredients[]']/option")
ele.Click Keys.Control
Next
driver.Quit
End Sub
I don't want to to loop through the table so I am trying to click and then hold control after clicking the link to keep the option highlighted
I tried this
Dim driver As New ChromeDriver, keys As New keys
driver.findElementById("ctl00_ContentPlaceHolder1_PgCntrl_CreateUserWizard_AvailableRoles_LBI0T0").Click
driver.keys.Control
I am getting an error "Invalid use of property". What am i doing wrong? I am guessing I have to use the keys As New keys
in order to use the keyboard function right?
hi guys
when I try to run my script I am getting this error when it tries to open the ie browser.
"unexpected error launching internet explorer ielaunchurl() returned hresult 80070005"
From my searches this seems to be a frequent issue that has happened to a lot of people. Is there a fix for this? I have set all the permissions to unchecked in each zone in the ie security tab but still get this error.
I am using ie 10
Hi Florent,
New question....
Suppose I run some assertion by the webdriver and assertion failes. Then I create a screenshot.
So far so good.
But since the X,Y and Width and Height parameters can be retrieved from the Webelement, is there a way to highlight this element within the screenshot by some (build-in) function?
(Either drawing a red rectangle or highlighting with yellow marker)
Kind regards,
Tom
I installed the latest release of SeleniumBasic on a new machine and when I try running these lines
Set selenium = CreateObject("Selenium.ChromeDriver")
selenium.SetBinary "C:\Program Files (x86)\folder\MyCEFapplication.exe"
selenium.SetCapability "debuggerAddress", "127.0.0.1:38947"
selenium.Start
I feel like this has to be some sort of machine setup issue because I have 2 other machines that I've installed it on with no issues. The problem machine is using 64 bit Windows 7.
I was mainly curious if you had seen this issue before or had any info on it. I've done some googling on the errors but I've been unable to turn up anything useful for why it's occurring or how to fix it.
Thanks
Hello!
I am porting from SeleniumVBA to SeleniumBasic.
I used "setImplicitWait" method in SeleniumVBA when web page was loaded.
I can't use this method in SeleniumBasic, because "ImpliciitWait" changes method to property.
(driver.setImplicitWait -> driver.Timeouts.ImplicitWait)
So Would you tell me how can I do porting from SeleniumVBA to SeleniumBasic about below sample code?
((SeleniumVBA))
Dim driver as SeleniumWrapper.WebDriver
Set driver = New SeleniumWrapper.WebDriver
driver.Start "firefox", "https://www.google.co.uk"
driver.setImplicitWait
driver.Open "/maps/"
driver.setImplicitWait
((SeleniumBasic))
Dim driver as FirefoxDriver
Set driver = New FirefoxDriver
driver.Start "https://www.google.co.uk"
driver.Get "/maps/"
Thanks.
not quite an issue but is there a chance to disable the internal Chrome PDF viewer plugin programmatically ?
can we have functions to how to handle Window pop-up and IFrames in webpage.
if yes please share the code.
thanks
When using this command generated by the SeleniumIDE for Firefox in vb.NET:
While Waiter.Not(driver.IsElementPresent(By.Id("_someidentifier"))) : End While
the editor marks "By.Id", giving the error: "Reference to a non-shared member requires an object reference". Where does the issue arise from?
Thanks,
Nev
Please can you explain the logic of getPerformanceTiming logic which you have mentioned in the example below:-
.
Function NextRow() As Range
Static i As Integer
i = IIf(i = 0, 1, i + 1) 'Increments the row index
Set NextRow = Range("A:I").Rows(i) 'Returns the next row
End Function
Public Sub GetPerformanceTiming()
Dim driver As New SeleniumWrapper.WebDriver
driver.Start "firefox", "http://uk.news.yahoo.com" 'Starts firefox
'Writes the titles on the first row
NextRow() = Array("Page Url", "Page load", "Redirect", "DNS", "Connecting", "Waiting", "Receiving", "DOM", "Events")
'Opens each page and copies the metrics in the WorkSheet ( 1 row for each page opened)
driver.Open "tech"
NextRow() = driver.getPerformanceTiming()
driver.Open "world"
NextRow() = driver.getPerformanceTiming()
driver.Open "opinion"
NextRow() = driver.getPerformanceTiming()
driver.Open "business"
NextRow() = driver.getPerformanceTiming()
driver.stop 'Closes Firefox
End Sub
Running this small snippet of code in Excel 2007 on Windows 7 makes the Escape (Esc) key not work in Windows programs at all, until you exit Excel completely:
Public Sub MakeEscapeNotWork()
Dim driver As New ChromeDriver
driver.Quit
End Sub
Escape works fine just before the driver.Quite statement, but stops working right after it has been called.
As I use the Escape key a lot (especially to close dialogs and menus), this bug is of course rather annoying.
But until the bug has been fixed, I will just avoid using .Quit and hope I can do without it.
What syntax would I use to fill in the following field? I tried the sendkeys but that fails because it's hidden. Sorry if this is the wrong spot for the question.
Thanks,
Jason
Hi!
Playing around with the example file "Selenium.xlsm' in order to learn using SeleniumBasic, I encountered the following issue. In the module "SeleniumScripts", I substituted the line 'Dim driver As New FirefoxDriver' with a call to the sub StartBrowser (present in the module "SeleniumBrowsing"). But when I run the macro, I get the error "Object required". What can be the problem? Thanks!
Nev
I'm trying to change the value of a slider using executeScript and the following code works
Set slider = selenium.findElementByName("sliceSlider")
selenium.executeScript "arguments[0].value = '2'", slider
I'm unsure of how to parameterize the value though so that I can pass two arguments, such as something like this
Set slider = selenium.findElementByName("sliceSlider")
sliderValue = 2
selenium.executeScript "arguments[0].value = arguments[1]", (slider, sliderValue)
So the basic question is what is the syntax or can you give me an example for how to use multiple arguments in executeScript.
Thanks
Hi,
I have a macro which does certain steps on a browser using selenium and calls another macro toward the end depending on a few conditions I have given. This macro seems to be working fine but as soon as the second macro starts I am getting an error.
I have used this macro on my laptop previously and did not have any issues. Not sure why i am getting this error when i use the same codes on a desktop. Please help !!
Excel Setup
I have the following setup in my Excel
Tools -> References -> SeleniumWrapper Type Library
Excel VBA
Here is the Excel VBA code I'm running:
Option Explicit
Public Sub SeleniumTest()
Dim driver As New WebDriver
Set driver = CreateObject("WebDriver") <- I get the Run-time error '429': ActiveX component can't create object error on this line
driver.Start "IE", "https://www.google.com/"
End Sub
Troubleshooting Comments
I first "repaired" my installation of Excel from control panel. Then I un-installed and re-installed Excel from control panel. I'm still getting the error.
I don't have the admin rights or experience to manually edit my registry and DLL files. Is there a way to fix this without getting too low level?
Thanks, Paul
to use seleniumbasic with portable versions of the browser it is necessary to set the respective capability. it seems that seleniumbasic right now does not allow to provide the embedded webdriver with a non-stanard location of the browser binaries.
when starting chrome webdriver (local chrome installation) the sessions tops with a notificaiton that the chrome automation exetnsion aborted.
Hi Dear florentbr!
I have a problem in Selenium ver.2.0.6 probably being newbie. I don't know about how can we set default behavior for unexpected Alerts on websites/webpages. How can we set the default behavior for such unexpected behaviors i.e. For Firefox, I want to accept all unexpected alerts or dismiss all unexpected alerts. For Phantomjs etc. How to set such capabilities.
Also please It might be better for us If we can know all possible capabilities/preferences strings with possible values or value types. So, that We can search before submitting issue that does it can be solved by capabilities or not.
Thanks.
I tried to use the addExtension method to install extensions for the webdriver firefox instance. Does not work. xpi-file is stored locally.
Hello Florent,
I am a frequent user of your great tool and appreciate all the work you are doing.
With the new Version v2.0.6.0 of SeleniumBasic I am facing problems with my VBA code that was running just fíne with v2.0.5.0.
it seems to be that SendKeys (keys.Enter)is not recognized anymore.
Here is an excerpt of my code:
Public driver As New Selenium.FirefoxDriver
Public By As New By, Assert As New Selenium.Assert, Verify As New Selenium.Verify
Public Waiter As New Selenium.Waiter
Public Utils As New Selenium.Utils
Public keys As New Selenium.keys
driver.FindElementById("identifier", 3000).SendKeys (keys.Enter)
The code in the last line leads to an error.
Is there a bug in the new Version or am I doing something wrong in the code?
Thanks
Martin
Hello,
I'm triyng to insert text in input tag using VBA and Chrome with SeleniumWrapper and this code:
driver.findElementByName("value").SendKeys "value"
But it generate this error: "element not visible..."
I tried to use code found in other issue:
driver.findElementByName("value").executeScript _
"this.value=arguments[0];", "my value"
but it's not working.
How can I resolve this?
Hi Florent,
First, thanks for you job and availability ! This tool is just great ^^
I just have a problem when I try to type a value with an opening parenthesis.
MaSaisie = ActiveCell.Offset(0, 3).Value
Selenium.FindElementBy(int_Strategie, MonAttendu).Clear
Selenium.FindElementBy(int_Strategie, MonAttendu).SendKeys MaSaisie
The Value of the string variable "MaSaisie" is : "SOLBIATE/VA (005;001)" (I checked that with MsgBox just before the SendKeys).
But when this text is written, I see the following value on the screen : "SOLBIATE/VA 005;001)" (with the loss of the opening parenthesis).
I use the Release v2.0.4.0 of SeleniumBasic.
I use it with Mozilla Firefox 40.0.3.
I use Excel 2010.
Thank you for your support ^^
BR,
David.
Hi, florentbr
Thank you for your hard work.
I'm using SeleniumBasic v2.0.6.0. and
When I call WebDriver.get("http://too_slow_webpage", 5000) with timeouts.PageLoad set to 5000,
It returns in 5 seconds as I expected, but Chrome dosn't stop loading the page.
So When I call another method or property of WebDriver again while Chrome is still loading that page,
my application gets blocked at this second call.
Below is my code.
Set Driver = New Selenium.ChromeDriver
With Driver.Timeouts
.ImplicitWait = 3000
.PageLoad = 5000
.script = 5000
.Server = 5000
End With
Call Driver.Start("chrome")
Driver.get("http://too_slow_webpage", 5000)
I have installed SeleniumBasic-2.0.5.0.
When run the example code, I encountered a run time error exception at Line 79 in ProcessExt.cs. I think it could not create the process. Please help me to fix this problem.
By the way, I use Window 7 64 bit, Microsoft office 2007.
as far as I understood the Selenium IDE commands are not any more supported completly. furthermore syntactical changes require a new formatter setup. Is there a new VBA formatter coming up ?
with new version 2.0.5.0 I have problems accessing manage.cookies for chrome. my program works fine with firefox but produces an error with number -2147467262 because of an invalid conversion
I currently use a .NET implementation to access a cef grid as follows:
ChromeOptions options = new ChromeOptions();
options.DebuggerAddress = "127.0.0.1:4000";
ChromeDriver driver = new ChromeDriver(options);
Is there a way to pass in options or will it be created?
A declarative, efficient, and flexible JavaScript library for building user interfaces.
🖖 Vue.js is a progressive, incrementally-adoptable JavaScript framework for building UI on the web.
TypeScript is a superset of JavaScript that compiles to clean JavaScript output.
An Open Source Machine Learning Framework for Everyone
The Web framework for perfectionists with deadlines.
A PHP framework for web artisans
Bring data to life with SVG, Canvas and HTML. 📊📈🎉
JavaScript (JS) is a lightweight interpreted programming language with first-class functions.
Some thing interesting about web. New door for the world.
A server is a program made to process requests and deliver data to clients.
Machine learning is a way of modeling and interpreting data that allows a piece of software to respond intelligently.
Some thing interesting about visualization, use data art
Some thing interesting about game, make everyone happy.
We are working to build community through open source technology. NB: members must have two-factor auth.
Open source projects and samples from Microsoft.
Google ❤️ Open Source for everyone.
Alibaba Open Source for everyone
Data-Driven Documents codes.
China tencent open source team.