3 回答
TA贡献1993条经验 获得超5个赞
xpath
应该是,在属性"//div[@class='inner-results firma']"
两边加上引号。class
您还应该使用findElements
来获得多个结果
MyWebDriver.findElements(By.xpath("//div[@class='inner-results firm']")).click();
附带说明一下,Java 中的变量应该以小写字母开头,MyWebDriver
->myWebDriver
TA贡献1776条经验 获得超12个赞
您需要将类名放在单引号中,请使用以下命令获取链接: MyWebDriver.findElement(By.xpath("//div[@class='inner-results firma']")).click();
虽然这只会点击类的第一个元素,但如果你想获取所有链接,然后点击第一个链接,那么你可以使用:MyWebDriver.findElements(By.xpath("//div[@class='inner-results firma']")).get(0).click();
并且通过使用这个 xpath,你可以通过发送点击页面上提到的任何链接get(index) 方法中的索引。
TA贡献1847条经验 获得超7个赞
请在下面的代码片段中为您提供链接存储在网络列表中:
import java.awt.AWTException;
import java.util.List;
import java.util.concurrent.TimeUnit;
import org.openqa.selenium.By;
import org.openqa.selenium.WebDriver;
import org.openqa.selenium.WebElement;
import org.openqa.selenium.chrome.ChromeDriver;
import org.testng.annotations.Test;
public class Testing {
public static WebDriver driver;
@Test
public void test() throws InterruptedException, AWTException {
System.setProperty("webdriver.chrome.driver", "./Driver/chromedriver");
driver = new ChromeDriver();
driver.get("https://www.pibr.org.pl/pl/search/auditor?biegli=1&firmy=1&name=&post_code=&city=Warszawa");
driver.manage().window().maximize();
driver.manage().timeouts().implicitlyWait(45, TimeUnit.SECONDS);
List<WebElement> fromDropDwon = driver.findElements(By.xpath("/html/body/div[2]/div/div[2]/div/h3/a"));
for (WebElement element : fromDropDwon) {
System.out.println(element.getAttribute("href"));
}
}
}
输出:
添加回答
举报