Warning: file_get_contents(/data/phpspider/zhask/data//catemap/9/java/320.json): failed to open stream: No such file or directory in /data/phpspider/zhask/libs/function.php on line 167

Warning: Invalid argument supplied for foreach() in /data/phpspider/zhask/libs/tag.function.php on line 1116

Notice: Undefined index: in /data/phpspider/zhask/libs/function.php on line 180

Warning: array_chunk() expects parameter 1 to be array, null given in /data/phpspider/zhask/libs/function.php on line 181
Java 如何通过Selenium通过XPath访问WebElement?_Java_Selenium_Selenium Webdriver_Xpath - Fatal编程技术网

Java 如何通过Selenium通过XPath访问WebElement?

Java 如何通过Selenium通过XPath访问WebElement?,java,selenium,selenium-webdriver,xpath,Java,Selenium,Selenium Webdriver,Xpath,我需要访问此网站上搜索结果的链接()并将它们放入WebElement,但我无法按类别或任何内容找到它们。在使用xpath时: MyWebDriver.findElement(By.xpath("//div[@class=inner-results firma]")).click(); 我得到这个错误: "Given xpath expression "//div[@class=inner-results firma]" is invalid: SyntaxError: The expressi

我需要访问此网站上搜索结果的链接()并将它们放入
WebElement
,但我无法按类别或任何内容找到它们。在使用xpath时:

MyWebDriver.findElement(By.xpath("//div[@class=inner-results firma]")).click();
我得到这个错误:

"Given xpath expression "//div[@class=inner-results firma]" is invalid: SyntaxError: The expression is not a legal expression."

如何访问所有结果链接?

xpath应该是
“//div[@class='internal-results firma']”
,在
属性周围加引号。您还应该使用
findElements
获得多个结果

MyWebDriver.findElements(By.xpath("//div[@class='inner-results firm']")).click();

作为旁注,Java中的变量应以小写开头,
MyWebDriver
->
MyWebDriver

您需要将类名放在单引号中,请使用以下命令获取链接:
MyWebDriver.findElement(By.xpath(“//div[@class='internal-results firma'])。单击()


虽然这只会单击类的第一个元素,但如果要获取所有链接,然后单击第一个链接,则可以使用:
MyWebDriver.findElements(By.xpath(“//div[@class='internal-results firma']”)。get(0)。click()并且通过使用此xpath,您可以通过在get(index)方法中发送索引来单击页面上提到的任何链接。

请参见下面的代码片段,它将为您提供存储在weblist中的链接:

import java.awt.AWTException;
导入java.util.List;
导入java.util.concurrent.TimeUnit;
导入org.openqa.selenium.By;
导入org.openqa.selenium.WebDriver;
导入org.openqa.selenium.WebElement;
导入org.openqa.selenium.chrome.ChromeDriver;
导入org.testng.annotations.Test;
公共类测试{
公共静态WebDriver;
@试验
public void test()抛出InterruptedException、AWTException{
System.setProperty(“webdriver.chrome.driver”,“/driver/chromedriver”);
驱动程序=新的ChromeDriver();
驱动程序。获取(“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 fromdropon=driver.findElements(By.xpath(“/html/body/div[2]/div/div[2]/div/h3/a”);
for(WebElement:fromDropDwon){
System.out.println(element.getAttribute(“href”);
}
}

}
//div[@class='internal-results firma']
是xpath