无法在新标签链接上找到元素

时间:2017-05-16 07:49:22

标签: selenium selenium-webdriver selenium-chromedriver

当我运行带扩展名的浏览器时会出现弹出窗口,显示"禁用开发者模式"为此,我的脚本点击“禁用”,它会打开一个新的标签,其中包含网址" chrome:// extensions /"

现在点击开发者模式的复选框,它总是会出现错误"无法找到元素。"

driver.findelement(By.id("toggle-dev-on"));

http://prntscr.com/f8fbde

2 个答案:

答案 0 :(得分:0)

您需要修改相应的浏览器配置文件才能禁用JS。与FireFox / Chrome一样,您可以告诉Selenium使用哪种配置文件。

Chrome:

 private void txtSearch_TextChanged(object sender, EventArgs e)
    {
        var p =(ColNameText) comboBoxEx1.SelectedItem;
        var result= from q in list where q.GetType().GetProperty(p.colname).GetValue(q,null).ToString().Contains(txtSearch.Text) select q;
        dgvListDrivers.DataSource = result.ToList();

    }

FireFox:

Map prefs = new HashMap();
prefs.put("profile.default_content_setting_values.notifications", 2);
ChromeOptions options = new ChromeOptions();
options.setExperimentalOption("prefs", prefs);
WebDriver driver = new ChromeDriver(options);

希望这可以解决你的问题。

答案 1 :(得分:0)

以下是您的问题的解决方案:

根据使用Selenium 3.4.0的最佳做法,您必须从here下载最新的chromedriver v2.29,将您的Google Chrome更新为58.x。

将chromedriver更新为v2.29将解决您的Disable developer mode

问题

要使用Google Chrome,您可以按照以下方式获取ChromeOptions课程的帮助:

    ChromeOptions options = new ChromeOptions();
    options.addArguments("start-maximized");
    options.addArguments("disable-infobars");
    options.addArguments("--disable-extensions");
    WebDriver driver = new ChromeDriver(options);
    driver.get("https://gmail.com");

如果这解决了您的问题,请告诉我。