我对使用Java语言的Selenium WebDriver非常陌生。在求职门户上有一个上传按钮。当我单击该按钮时,将显示windows资源管理器以选择该文件。此窗口上有打开和取消按钮。我想选择取消按钮。因为它是windows资源管理器,所以我不能检查取消按钮。我们如何编写取消按钮的代码。提前谢谢。
driver.get("https://my.indeed.com/resume?from=gnav-homepage&co=US&hl=en_US");
driver.manage().window().maximize();
Thread.sleep(3000);
driver.findElement(
By.xpath("//[@id='container']/div/div/div[2]/div/div/div[2]/div/div[1]/div/div[1]/button")).click();

发布于 2019-11-26 22:19:43
我没有Java编程技能。我希望下面的python代码很容易翻译。在我看来,将窗口操作与selenium调用结合起来通常是不可靠的。
有一个隐藏的元素叫做'upload resume button',你可以更改属性值以在UI上看到它,在该元素上使用send keys方法来上传简历。
from selenium.webdriver import Remote, DesiredCapabilities
driver = Remote(desired_capabilities=DesiredCapabilities.CHROME)
driver.get('https://my.indeed.com/resume?from=gnav-homepage&co=US&hl=en_US')
driver.execute_script(
"document.getElementById('upload-resume-button').setAttribute('class', '')"
)
upload_your_resume = driver.find_element_by_id('upload-resume-button')
upload_your_resume.send_keys(r'C:\test\resume.docx')上面的代码在我的本地运行正常。
发布于 2019-11-26 22:17:42
简短的回答是你不能,但是如果你想上传一个本地文件,你可以在输入栏上使用send_keys,发送文件路径。
下面是一个python示例:
driver.find_element_by_id("IdOfInputTypeFile").send_keys(os.getcwd()+"/image.png")发布于 2019-11-26 22:26:50
您可以使用Robot类来模拟本机键盘和鼠标操作,以便与基于窗口的弹出窗口进行交互。关闭任何打开的窗口的快捷方式是:“Alt+ Space +C”-关闭焦点窗口。
Robot rb = new Robot();
rb.keyPress(KeyEvent.VK_ALT);
rb.keyPress(KeyEvent.VK_SPACE);
rb.keyPress(KeyEvent.VK_C);
rb.keyRelease(KeyEvent.VK_C);
rb.keyRelease(KeyEvent.VK_SPACE);
rb.keyRelease(KeyEvent.VK_ALT);https://stackoverflow.com/questions/59051241
复制相似问题