I am trying to dynamically capture some network calls on a page then process them in Selenium 4 (using C# and Chrome webdriver) however what I am observing is that once the page loads, future events are not captured. For instance, clicking a button after the page loads generates a network call which I can see in the Network tab of Chrome however I do not see the corresponding network call in collectorRequestEvents. Is this a bug of the system or am I going about capturing events in the wrong way? Any help would be appreciated! I would also be happy to provide more details!
List<Network.RequestWillBeSentEventArgs> collectorRequestEvents;
List<Network.ResponseReceivedEventArgs> collectorResponseEvents;
private void Network_ResponseReceived(object sender, Network.ResponseReceivedEventArgs e)
{
if (e.Response.Url.ToLower().Contains("identifier"))
{
collectorResponseEvents.Add(e);
}
}
private void Network_RequestWillBeSent(object sender, Network.RequestWillBeSentEventArgs e)
{
if (e.Request.Url.ToLower().Contains("identifier"))
{
collectorRequestEvents.Add(e);
}
}
public void Test_Validation()
{
IDevTools devTools = browser.GetDriver as IDevTools;
IDevToolsSession session = devTools.GetDevToolsSession();
var domains = session.GetVersionSpecificDomains<DevToolsSessionDomains>();
collectorRequestEvents = new List<Network.RequestWillBeSentEventArgs>();
collectorResponseEvents = new List<Network.ResponseReceivedEventArgs>();
domains.Network.RequestWillBeSent += Network_RequestWillBeSent;
domains.Network.ResponseReceived += Network_ResponseReceived;
domains.Network.Enable(new Network.EnableCommandSettings());
browser.goTo(fullURL);
//Click button which should cause another network event to be captured but doesn't
//........
}