在 Selenium C# Headless Chrome 中提取 Table

Extracting Table in Selenium C# Headless Chrome

我正在做一个网站的自动化,我做了所有的事情。最后,我将 table 存储在列表中,并且在没有无头 Chrome 的情况下工作正常。但是,当我将 Chrome 浏览器更改为 "HEADLESS" 时,我的 "td" 中的 table 是空的,其中一些显示出来,一些丢失了

ChromeOptions option = new ChromeOptions();
option.AddArgument("--headless");
IWebElement myTable = driver.FindElement(By.XPath("//*[@id=\"trades-view active\"]/table/tbody/tr[1]/td[5]"));

我附上了两个屏幕截图。在第一个屏幕截图 Location { X=666 , Y=1112 } 和 Locationonscreenoncescrolledintview { X=659 , Y= 512 } 中,当我毫无问题地获取整个 table 时就是这种情况。 enter image description here

但是当我想在 Headless 状态下更改浏览器时,我得到 Location { X=0 , Y=0 } 和 Locationonscreenoncescrolledintview { X=0 , Y= 0 }

enter image description here

如果您建议我进行任何更改以正确执行此操作,我将非常感谢您。

谢谢

我想您可能需要先设置 window 大小才能导航到网络。

ChromeOptions option = new ChromeOptions();
option.AddArgument("--headless");
option.AddArgument("--window-size=2160,3840");
IWebElement myTable = driver.FindElement(By.XPath("//*[@id=\"trades-view active\"]/table/tbody/tr[1]/td[5]"));

Web 应用程序可能只显示一些默认内容,并在用户滚动到该位置时显示其余内容。