[英]How to launch a url in the new window of firefox browser using C#
[英]How to launch a specific URL with Firefox in C#
我正在尝试使用Firefox启动特定的URL。 但是我只能打开Firefox浏览器,而不能启动该URL。
class BrowserHelper
{
IWebDriver driver;
string path = Path.Combine(Environment.CurrentDirectory, @"gecko\\");
public void Navigate(string url)
{
path = path.Replace(@"\", @"\\");
var driverService = FirefoxDriverService.CreateDefaultService(path);
driverService.HideCommandPromptWindow = true;
if (driver == null)
{
driver = new FirefoxDriver(driverService);
}
driver.Url = url;
driver.Navigate().GoToUrl(driver.Url);
driver.Manage().Window.Maximize();
}
}
class Realtest
{
BrowserHelper BH = new BrowserHelper();
public void test()
{
string search ="apple";
BH.Navigate("https://www.google.com/search?q=" + search);
}
}
这是我要启动的最终URL: https : //www.google.com.sg/search?q=apple
有什么建议么? 提前致谢。
我已经尝试了以下代码(使用Java),并且通过启动浏览器并加载URL也可以正常工作。
System.setProperty("webdriver.gecko.driver","Drivers/geckodriver.exe");
WebDriver driver = new FirefoxDriver();
driver.get("https://www.google.com.sg/search?q=apple");
因此,我认为问题出在本地计算机上安装的geckodriver版本和FireFox浏览器。 我建议您将FireFox和geckodriver更新为最新版本。
还有一个非常简单的使用c#命令行的解决方案。
只需执行以下命令即可打开具有给定URL的新Firefox标签:
start firefox wikipedia.de
您还可以根据需要启动新的Firefox实例:
start firefox -new-instance wikipedia.de
最后但并非最不重要的.Net代码,用于在CLI中执行命令:
System.Diagnostics.Process.Start(new System.Diagnostics.ProcessStartInfo()
{
Arguments = "/c start firefox wikipedia.de",
CreateNoWindow = true,
FileName = "CMD.exe"
});
Firefox命令行参数还可以完成很多其他工作。 您可以在这里找到所有这些文件: https : //developer.mozilla.org/zh-CN/docs/Mozilla/Command_Line_Options?redirectlocale=zh-CN&redirectslug=Command_Line_Options
这也适用于Chrome和Opera,只需调用
start opera wikipedia.de
而不是Firefox。
您无需设置driver.Url
,删除该行。
driver.Navigate().GoToUrl(url);
driver.Manage().Window.Maximize();
另外,如果您只想启动一个URL而又不与页面进行交互,那么Selenium就是多余的。
声明:本站的技术帖子网页,遵循CC BY-SA 4.0协议,如果您需要转载,请注明本站网址或者原文地址。任何问题请咨询:yoyou2525@163.com.