Where communities thrive


  • Join over 1.5M+ people
  • Join over 100K+ communities
  • Free without limits
  • Create your own community
People
Activity
    Oleg Zudov
    @ToCSharp
    Hello. Waiting for your comments and questions.
    JasonTurnbull25
    @JasonTurnbull25
    Hello. Just wondering if the webdriver component supports clicking on buttons and such using result.click() or just .click(). I've been having trouble trying to get it to work after finding the correct element. Anyway, findelement works, just wondering about click.
    JasonTurnbull25
    @JasonTurnbull25
    I'm using your async chromedriver
    Oleg Zudov
    @ToCSharp
    Sorry. Issue with VerifyElementClickable. Update to 0.1.6 version. Clicks must work now
    Oleg Zudov
    @ToCSharp
    Please, feel free to write all problems with project. Not all is implemented yet. I'll try to fix it as soon as possible
    Oleg Zudov
    @ToCSharp
    Take a look at new project AsyncChromeDriverExamplesAndTests . There are examples and tests of AsyncChromeDriver usage. I invite all to extend it
    JasonTurnbull25
    @JasonTurnbull25
    Thank you very much for fixing that. I'll check it out soon and let you know how well it works. I appreciate the help :)
    JasonTurnbull25
    @JasonTurnbull25
    Clicking works great :) Thanks again. I may bother you again if I bump into anything else. I'm glad you're actively developing this. Having access to the dev protocol while driving chrome with selenium has been something I've wanted for a long time.
    Oleg Zudov
    @ToCSharp
    Headless Chrome feature added and new way of configuring AsyncChromeDriver: var asyncChromeDriver = new AsyncChromeDriver(new ChromeDriverConfig().SetHeadless().SetWindowSize(width, height));
    JasonTurnbull25
    @JasonTurnbull25
    Amazing job. I was actually looking to work with headless.
    Oleg Zudov
    @ToCSharp
    Thank you for kind words. Note, that in Window_Closing any await will close app immediately. New thread not helps. I added asyncChromeDriver.CloseSync() if you want to close Chrome when closing app.
    JasonTurnbull25
    @JasonTurnbull25
    Hello again. Still working with Async Chromedriver and having great success. Just wondering if you've got any plans to implement a page loaded check or wait? Unless you've already built something in and I'm missing it. I'm just looking for a way to know when the page has completely loaded or to wait until a specific element exists maybe?
    Oleg Zudov
    @ToCSharp
    It is AsyncWebDriver functionality. I added today WaitForWebElement, WaitForElementWithId, WaitForElementWithName, WaitForElementWithCssSelector. Update AsyncWebDriver NuGet. Not tested, but in SyncWebDriver it worked ok. https://github.com/ToCSharp/AsyncWebDriver/blob/a5f987969accec7279b388993cdc71d971dd9d33/AsyncWebDriver/AsyncWebDriver/WebDriver.cs#L1001 . And example: https://github.com/ToCSharp/AsyncWebDriver/blob/a5f987969accec7279b388993cdc71d971dd9d33/AsyncFirefoxDriverExample/MainWindow.xaml.cs#L186
    JasonTurnbull25
    @JasonTurnbull25
    So it's built into the await portion of the async driver already? That makes sense :) So you've updated the syncdriver portion only? In the asyncdriver how would you suggest I check to make sure a page is fully loaded or that an element exists before proceeding? I was trying to set timeouts using Manage but it isn't implemented. Thanks for the help Oleg. I
    Oleg Zudov
    @ToCSharp
    Timeouts not implemented, but var res = await asyncDriver.GoToUrl("https://www.google.com/"); waits page fully loaded. And WaitForElementWithId waits for element(added today into the await portion of the async driver). Look example
    JasonTurnbull25
    @JasonTurnbull25
    Thank you very much Oleg. I understand now. Sorry for bothering you. I'm not a great programmer, haha.
    Oleg Zudov
    @ToCSharp
    If you click on some link or reload page and wait for id or name you must add await asyncDriver.WaitForElementWithName("q", oldElement.Id); to prevent catch element from old page
    Element with the same id or name, but in old page
    JasonTurnbull25
    @JasonTurnbull25
    Ok. Do the new features work with Remote?
    Oleg Zudov
    @ToCSharp
    So, what do you mean by 'Remote'? Maybe I explain how AsyncChromeDriver and AsyncWebDriver works together
    Oleg Zudov
    @ToCSharp
    If you mean namespace Zu.AsyncWebDriver.Remote, it goes from Selenium. "Remote connection to web browser". I think, I remove it in future namespace Zu.AsyncWebDriver
    Oleg Zudov
    @ToCSharp
    If you want connect to browser on remote computer, it can be done, but not tested and I do not think it secure.
    I'll do it in future
    Oleg Zudov
    @ToCSharp

    ChromeDevTools have more events to listen:

    asyncChromeDriver.DevTools.Session.Page.SubscribeToLoadEventFiredEvent(async (e2) => { ... });

    SubscribeToFrameAttachedEvent, SubscribeToFrameNavigatedEvent ...
    Do not forget

    await asyncChromeDriver.DevTools.Session.Page.Enable();
    JasonTurnbull25
    @JasonTurnbull25
    Yes, I'm basically trying to interact with web pages while using chrome devtools. So, I'm currently using your version of webdriver and chromedriver to accomplish this. I'm creating my setup using var asyncChromeDriver = new AsyncChromeDriver(new ChromeDriverConfig().SetHeadless().SetWindowSize(800, 600));
    IWebDriver webDriver = new Zu.AsyncWebDriver.Remote.WebDriver(asyncChromeDriver); but I'm not seeing the new options you mentioned (waitforelementwithname, for instance) I'm probably just doing something wrong, lol. I'm sure I'll figure it out.
    Oleg Zudov
    @ToCSharp
    Do you updated AsyncWebDriver to 1.1.6?
    change IWebDriver to var or WebDriver
    Sorry, I did not added it to interface
    JasonTurnbull25
    @JasonTurnbull25
    ahh, I see. Thanks :) I knew I was doing something wrong, lol.
    I see the waits in there now :)
    Oleg Zudov
    @ToCSharp
    Must be added to IWebDriver
    JasonTurnbull25
    @JasonTurnbull25
    I understand. I find what you've done so far to be super useful. It's the only way I've found that I can access the chrome devtools api in realtime while driving chrome. Can't do it with selenium because of the connection limit on the devtools api.
    Oleg Zudov
    @ToCSharp
    Yes, Chrome accept only one connection. Firefox have no such a problem. I have some research of using Firefox devtools, but left it for a while.
    Do you think it will be useful to add Firefox devtools?