使用 XPATH 单击按钮时如何使用 java 和 selenium 修复 "Method Call Expected"?
How to fix "Method Call Expected" using java and selenium when using XPATH to click a button?
我对 selenium 的所有东西都很陌生,我现在很难弄清楚如何使用 XPATH 单击按钮(技术上是 link)来搜索正确的按钮。
我的导入是这些:
import org.openqa.selenium.By;
import org.openqa.selenium.WebDriver;
import org.openqa.selenium.WebElement;
import org.openqa.selenium.support.ui.ExpectedConditions;
import org.openqa.selenium.chrome.ChromeDriver;
import org.openqa.selenium.support.ui.WebDriverWait;
我的代码在这里
System.setProperty("webdriver.chrome.driver", "C:\selenium-java-2.35.0\chromedriver_win32_2.2\chromedriver.exe");
WebDriver driver = new ChromeDriver();
driver.get("https://LINK_OF_THE_WEBSITE");
WebElement button = WebDriverWait(driver, 10).until(ExpectedConditions.visibilityOfElementLocated(By.ByXPath("//a[@class='btn' @href'LINK_OF_THE_BUTTON']"))).click();
driver.close();
目前我的 IDE 中显示了 2 个错误,它们都告诉我“需要方法调用”。其中一个在 WebDriverWait(driver, 10) 上,另一个在 By.ByXPath("...")
上
我查看了这两个对象的 JavaDocs,我觉得我调用它们是正确的,但我仍然遇到这些错误。
我不确定我使用的方法是否是解决此问题的最佳方法。该按钮没有 ID,只有一个 class 和一个 href 值,它是一个带有文本“Sign In”的登录按钮。感谢您的帮助!
要单击 link/button
,您需要使用正确的定位符来识别元素。
下面使用xpath
//*[@class='btn' and text()='Sign In']
理想情况下,您的代码应该像
WebElement button=new WebDriverWait(driver, 10).until(ExpectedConditions.visibilityOfElementLocated(By.xpath("//*[@class='btn' and text()='Sign In']")));
button.click();
我对 selenium 的所有东西都很陌生,我现在很难弄清楚如何使用 XPATH 单击按钮(技术上是 link)来搜索正确的按钮。
我的导入是这些:
import org.openqa.selenium.By;
import org.openqa.selenium.WebDriver;
import org.openqa.selenium.WebElement;
import org.openqa.selenium.support.ui.ExpectedConditions;
import org.openqa.selenium.chrome.ChromeDriver;
import org.openqa.selenium.support.ui.WebDriverWait;
我的代码在这里
System.setProperty("webdriver.chrome.driver", "C:\selenium-java-2.35.0\chromedriver_win32_2.2\chromedriver.exe");
WebDriver driver = new ChromeDriver();
driver.get("https://LINK_OF_THE_WEBSITE");
WebElement button = WebDriverWait(driver, 10).until(ExpectedConditions.visibilityOfElementLocated(By.ByXPath("//a[@class='btn' @href'LINK_OF_THE_BUTTON']"))).click();
driver.close();
目前我的 IDE 中显示了 2 个错误,它们都告诉我“需要方法调用”。其中一个在 WebDriverWait(driver, 10) 上,另一个在 By.ByXPath("...")
上我查看了这两个对象的 JavaDocs,我觉得我调用它们是正确的,但我仍然遇到这些错误。
我不确定我使用的方法是否是解决此问题的最佳方法。该按钮没有 ID,只有一个 class 和一个 href 值,它是一个带有文本“Sign In”的登录按钮。感谢您的帮助!
要单击 link/button
,您需要使用正确的定位符来识别元素。
下面使用xpath
//*[@class='btn' and text()='Sign In']
理想情况下,您的代码应该像
WebElement button=new WebDriverWait(driver, 10).until(ExpectedConditions.visibilityOfElementLocated(By.xpath("//*[@class='btn' and text()='Sign In']")));
button.click();