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