如何通过XPath by Selenium访问WebElement?

时间:2019-02-18 11:30:54

标签: java selenium selenium-webdriver xpath

我需要访问此网站(https://www.pibr.org.pl/pl/search/auditor?biegli=1&firmy=1&name=&post_code=&city=Warszawa)上搜索结果的链接,并将其放在c中,但是我无法按班级或其他方式找到它们。使用WebElement时:

xpath

我收到此错误:

MyWebDriver.findElement(By.xpath("//div[@class=inner-results firma]")).click();

如何访问所有结果链接?

3 个答案:

答案 0 :(得分:4)

push_back应该为hjust = ifelse(df$difference < 0, 0, 1),并在 class 属性的值前后加上引号。您还应该使用# Diverging Barcharts ggplot(df, aes(x=`regions`, y=difference, label=difference)) + geom_bar(stat='identity', aes(fill=type), width=.5) + geom_text(aes(label=difference), vjust=0, hjust=ifelse(df$difference < 0, 0, 1)) + # here it is scale_fill_manual(name="Mileage", labels = c("Increase", "Decrease"), values = c("above"="#00ba38", "below"="#f8766d")) + coord_flip() 获得一个以上的结果

xpath

请注意,Java中的变量应以小写字母"//div[@class='inner-results firma']"-> findElements

开头

答案 1 :(得分:2)

您需要将类名放在单引号中,请使用以下命令获取链接: 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)方法发送索引,页面上提到的任何链接。

答案 2 :(得分:0)

下面的代码段将为您提供链接存储在网络列表中的

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"));
		}
	}
}

输出:

enter image description here 请投票并接受答案,如果它符合您的要求。