Javascript 使用selenium对$(“”)进行测试。单击()

Javascript 使用selenium对$(“”)进行测试。单击(),javascript,html,selenium,dom,selenium-webdriver,Javascript,Html,Selenium,Dom,Selenium Webdriver,你们中的一些人可能知道,可以要求用户选择文件,而无需放置,如何使用Selenium向onclick添加一个侦听器 driver.executeScript(' $(function() { $("input[type=file]").on('click', function(el) { $(el).val('path/to/file'); }); }) ') 对不起,如果这是垃圾,我现在不能测试这个,所以请考虑伪代码:

你们中的一些人可能知道,可以要求用户选择文件,而无需放置,如何使用Selenium向onclick添加一个侦听器

driver.executeScript('
    $(function() { 
        $("input[type=file]").on('click', function(el) {
            $(el).val('path/to/file');
        });
    })
')

对不起,如果这是垃圾,我现在不能测试这个,所以请考虑伪代码:

如何添加一个侦听器来点击Seleung.

driver.executeScript('
    $(function() { 
        $("input[type=file]").on('click', function(el) {
            $(el).val('path/to/file');
        });
    })
')

对不起,如果它是垃圾,我现在不能测试这个,所以请考虑它伪代码:

然后你创建一个从硒输入,但我的应用程序JS代码如何接收该文件呢?不确定我们是否可以设置这样的val否?不,输入由您的应用程序在调用askForFile时创建。Selenium只是向onclick事件添加了一个侦听器。事实上,我不确定您是否可以这样指定文件路径,但您已经有了可以轻松测试的代码:但是如果没有向DOM添加输入,$input[type=file]将如何返回任何内容?确实,您需要将元素插入DOM并将侦听器应用于父对象。但当你试图避免这种情况时。。。不确定。您可以尝试在测试中覆盖askForFile,但这需要保持版本同步。或者,您可以将其包装在一个类中,并通过driver.executeScriptt将$input作为可访问的属性。当您从selenium创建输入时,我的应用程序js代码如何接收该文件?不确定我们是否可以设置这样的val否?不,输入由您的应用程序在调用askForFile时创建。Selenium只是向onclick事件添加了一个侦听器。事实上,我不确定您是否可以这样指定文件路径,但您已经有了可以轻松测试的代码:但是如果没有向DOM添加输入,$input[type=file]将如何返回任何内容?确实,您需要将元素插入DOM并将侦听器应用于父对象。但当你试图避免这种情况时。。。不确定。您可以尝试在测试中覆盖askForFile,但这需要保持版本同步。或者,您可以将其包装在一个类中,并通过driver.executeScript将$input保留为可访问属性
driver.executeScript('
    $(function() { 
        $("input[type=file]").on('click', function(el) {
            $(el).val('path/to/file');
        });
    })
')