Why is Selenium WebDriver not locating objects on the page?
*Question posted on behalf of Connie Saign-Piche...* Hello, in working with Selenium WebDriver, sometimes it seems to have problems locating elements on the page with Chrome. I am running several testcases that need to interact with a piechart that renders and changes with each testcase. In some scenarios it works(selenium sees the elements, interacts and the tests pass) and in other scenarios it doesn't.. The code is pretty much the same. Not sure what the problem is other than perhaps the elements are being rendered differently and it's a timing issue. But I've tried Explicit waits and thread.sleep as well. So any suggestions would be appreciated. At this point I'm trying to work with the mouse to click on the page elements using coordinates but haven't quite figured out how to do that. If anyone has suggestions that'd be greatly appreciated.
Tagged:
1
Best Answer
-
Hi Mark, WLN Module & Feature Regression team has created a long list what you could call Selenium WebDriver extensions for both .NET and Java, which we could certainly share with you. Specifically for waiting for the page to load, we have a couple useful methods that are quite superior to explicit waits or Thread.Sleep calls. Maybe the method names aren't the best, but feel free to look over them and reach out to me if you want more info about our Selenium Utils or our Page Object Model in general. ///
/// Waits up to the specified implicit wait for all forms of Javascript to finish executing /// ///
The maximum number of milliseconds that Selenium should wait public void WaitForPageLoad(int timeoutInMilliseconds = TestWaitTimeInMillis) { try { const string javascript = "return document.readyState;"; new WebDriverWait(_driver, TimeSpan.FromMilliseconds(timeoutInMilliseconds)).Until( x => ((String)ExecuteScript(javascript)) == "complete"); } catch { // if we've timed out or hit an exception just return and we'll deal with the fallout on our next step } } ///
/// Waits for jQuery to be inactive and any animation to be done /// ///
length of time to wait for javascript public void WaitForJavascript(int timeoutInMilliseconds = TestWaitTimeInMillis) { try { const string javascript = "if(typeof jQuery == 'undefined') { return true; } else { return (jQuery.active == 0 && $(':animated').size() < 1); }"; new WebDriverWait(_driver, TimeSpan.FromMilliseconds(timeoutInMilliseconds)).Until( x => ((bool)ExecuteScript(javascript))); } catch { // if we've timed out or hit an exception just return and we'll deal with the fallout on our next step } }2
Categories
- All Categories
- 6 AHS
- 39 Alpha
- 161 App Studio
- 4 Block Chain
- 4 Bot Platform
- 16 Connected Risk APIs
- 47 Data Fusion
- 30 Data Model Discovery
- 608 Datastream
- 1.3K DSS
- 577 Eikon COM
- 4.9K Eikon Data APIs
- 7 Electronic Trading
- Generic FIX
- 7 Local Bank Node API
- Trading API
- 2.7K Elektron
- 1.3K EMA
- 236 ETA
- 519 WebSocket API
- 33 FX Venues
- 10 FX Market Data
- 1 FX Post Trade
- 1 FX Trading - Matching
- 12 FX Trading – RFQ Maker
- 5 Intelligent Tagging
- 2 Legal One
- 20 Messenger Bot
- 2 Messenger Side by Side
- 9 ONESOURCE
- 7 Indirect Tax
- 59 Open Calais
- 264 Open PermID
- 39 Entity Search
- 2 Org ID
- PAM
- PAM - Logging
- 8.4K Private Comments
- 6 Product Insight
- Project Tracking
- ProView
- ProView Internal
- 20 RDMS
- 1.4K Refinitiv Data Platform
- 367 Refinitiv Data Platform Libraries
- 3 Refinitiv Due Diligence
- LSEG Due Diligence Portal API
- 3 Refinitiv Due Dilligence Centre
- Rose's Space
- 1.1K Screening
- 18 Qual-ID API
- 13 Screening Deployed
- 23 Screening Online
- 10 World-Check Customer Risk Screener
- 990 World-Check One
- 44 World-Check One Zero Footprint
- 45 Side by Side Integration API
- Test Space
- 3 Thomson One Smart
- 1.2K TR Internal
- Global Hackathon 2015
- 2 Specialists Who Code
- 10 TR Knowledge Graph
- 150 Transactions
- 142 REDI API
- 1.7K TREP APIs
- 4 CAT
- 21 DACS Station
- 117 Open DACS
- 1.1K RFA
- 103 UPA
- 172 TREP Infrastructure
- 224 TRKD
- 886 TRTH
- 5 Velocity Analytics
- 5 Wealth Management Web Services
- 59 Workspace SDK
- 9 Element Framework
- 5 Grid
- 13 World-Check Data File
- Yield Book Analytics
- 46 中文论坛