gpt4 book ai didi

javascript - Selenium Web 驱动程序的文件上传功能无法通过 sendkeys 工作

转载 作者:行者123 更新时间:2023-11-28 08:35:35 24 4
gpt4 key购买 nike

重现步骤:-

转到:-

https://talentconnect.pge.com/sap/bc/webdynpro/sap/hrrcf_a_unreg_job_search?sap-client=810&sap-wd-configId=ZPERJ_A_UNREG_JOB_SEARCH#

用户名:- softwaretesting805@gmail.com密码:- 1Selenium@

搜索并申请任何职位并进入附件页面,然后单击“添加”按钮。我无法通过 Selenium 上传任何文件。

1) 我正在使用 sendkeys 来回答 docType 和 docName 问题。

2)浏览元素位于表单中,因此我首先使用sendkeys发送文件路径,然后在表单元素上调用提交函数。

3)之后,我单击“上传”按钮。

问题似乎出在 chromedriver 中处理浏览按钮时,如果我转到浏览选项卡,手动浏览文件,然后通过代码运行其余部分,则文件上传成功。

我正在使用下面的代码来浏览和上传。

List<WebElement> attachButtons = driver.getDriver().findElements(By.xpath("//input[@type=\"file\"]"));
for (int i = 0; i < 5; i++)
{
if (attachButtons != null && attachButtons.size() > 0 && attachButtons.get(0).isDisplayed())
{
attachButtons.get(0).sendKeys("/home/user/path/to/file");
SeleniumUtils.pause(1 * 1000);
List<WebElement> formElements = driver.getDriver().findElements(By.tagName("form"));
if(formElements != null && formElements.size() > 0)
{
formElements.get(0).submit();
}
break;
}
SeleniumUtils.pause(3 * 1000);
}
List<WebElement> uploadButtons = driver.getDriver().findElements(By.xpath("//a[@ct=\"B\"]"));
if (uploadButtons != null && uploadButtons.size() > 0)
{
WebElement uploadButton = null;
for(WebElement button : uploadButtons)
{
if(button.isDisplayed() && button.getText().contains("Upload"))
{
uploadButton = button;
break;
}
}
if(uploadButton != null)
{
uploadButtons.get(0).click();
}
}

非常感谢任何帮助。

谢谢!

最佳答案

我也遇到过类似的问题。通过使用 getAbsolutePath 解决了这个问题。尝试以下代码,看看是否有帮助。

File file = new File("/home/user/path/to/file");
attachButtons.get(0).sendKeys(file.getAbsolutePath());

另一种方法是使用java脚本。您可以使用JavaScriptExecutor,如下所示:

String jsScript = "var input = document.getElementsByTagName('input')[0];"
+"input.value='/home/user/path/to/file';";
JavascriptExecutor executor = (JavascriptExecutor)driver;
executor.executeScript(jsScript);

关于javascript - Selenium Web 驱动程序的文件上传功能无法通过 sendkeys 工作,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/21256094/

24 4 0
Copyright 2021 - 2024 cfsdn All Rights Reserved 蜀ICP备2022000587号
广告合作:1813099741@qq.com 6ren.com