我正在使用 Selenium 并尝试使用 CDP 来模拟地理位置。但我遇到一个问题,ChromeDriver 没有像 CreateDevToolsSession 这样的东西。这是我在 Selenium 文档中找到的代码:
using OpenQA.Selenium.Chrome;
using OpenQA.Selenium.DevTools;
using OpenQA.Selenium.DevTools.V87.Emulation;
namespace dotnet_test {
class Program {
public static void Main(string[] args) {
GeoLocation().GetAwaiter().GetResult();
}
public static async Task GeoLocation() {
ChromeDriver driver = new ChromeDriver();
DevToolsSession devToolsSession = driver.CreateDevToolsSession();
var geoLocationOverrideCommandSettings = new SetGeolocationOverrideCommandSettings();
geoLocationOverrideCommandSettings.Latitude = 51.507351;
geoLocationOverrideCommandSettings.Longitude = -0.127758;
geoLocationOverrideCommandSettings.Accuracy = 1;
await devToolsSession
.GetVersionSpecificDomains<OpenQA.Selenium.DevTools.V87.DevToolsSessionDomains>()
.Emulation
.SetGeolocationOverride(geoLocationOverrideCommandSettings);
driver.Url = "<your site url>";
}
}
}
Run Code Online (Sandbox Code Playgroud)
谢谢。
** 更新 1 ** 这是文档参考的链接。 https://www.selenium.dev/documentation/webdriver/bidirection/chrome_devtools/
我有一个基于 Java 的游戏服务器。1个用户需要使用2个线程来发送和接收数据。但是每当线程达到200-300个线程时,执行数据的功能就不再起作用了。服务器的CPU、RAM还没有满,大约只有15-20%。我尝试在用户断开连接时使用“垃圾收集器”,但这种情况仍然发生。谢谢你的帮助。抱歉我的英语不好。