我正在使用selenium自动化,我无法上传相对路径的文件,请参阅以下代码。
driver.findElement(By.xpath("//span[text()='Theme']")).click();
File filepath=new File("\ntwinelogin.jpg");
WebElement fileobj = driver.findElement(By.name("toplogoupload"));
fileobj.sendKeys("\ntwinelogin.jpg");
String Filepath=filepath.getAbsolutePath();
Filepath.trim();
答案 0 :(得分:1)
使用System.getProperty("user.dir")+"\ntwinelogin.jpg";
作为当前项目目录路径。
{{1}}
答案 1 :(得分:0)
步骤1:首先将文件存储在一个变量中,例如String path = "C:\\users\\home\\newhtml.html";
第2步:将变量传递给sendkeys()
方法
driver.findelement(By.xapth("")).sendkeys(path);
答案 2 :(得分:0)
您可以在Python中使用以下函数作为相对路径:
导入
import sys, os
使用以下代码:
ROOT_DIR = os.path.dirname(os.path.abspath(__file__))
screenshotpath = os.path.join(os.path.sep, ROOT_DIR,'YOURFOLDERNAME'+ os.sep)
print screenshotpath
确保您创建存在.py文件的文件夹
<强>爪哇强>
System.getProperty("user.dir")
答案 3 :(得分:0)
我最近需要一个与平台无关的解决方案来解决此问题。由于我们使用的是Maven,因此我实现了以下解决方案。
Maven目录结构
src
|
- main
| |
| - java
| |
| - com
| |
| - example
| |
| - integration
| |
| - Test1.java
| |
| - Test2.java
| ...
|
- resources
|
- File1.csv
|
- File2.csv
...
测试
// Load a file on the classpath as a resource using the ClassLoader.
URL url = getClass().getClassLoader().getResource("File1.csv");
// Convert the URL into a URI.
URI uri = file.toURI();
// Load the file from the URI.
File file = new File(uri);
// Get the absolute path to the file.
String path = file.getAbsolutePath();
// Use the absolute path with Selenium.
input.sendKeys(path);