我与Selenium合作非常陌生。我试图单击以下“选择”按钮:
这是我的代码:
import org.openqa.selenium.By;
import org.openqa.selenium.WebDriver;
import org.openqa.selenium.WebElement;
import org.openqa.selenium.firefox.FirefoxDriver;
public class FirstTest
{
private static WebDriver driver;
public static void main(String[] args) throws Exception
{
driver = new FirefoxDriver();
driver.manage().window().maximize();
driver.navigate().to("http://www.metro.ca/flyer/index.en.html");
WebElement postalCodeInputBox = driver.findElement(By.name("postalcode"));
postalCodeInputBox.sendKeys("L6R1A1");
postalCodeInputBox.submit();
String pageSource = driver.getPageSource();
if(pageSource.contains("setstore btn"))
System.out.println("setstore btn FOUND");
WebElement selectButton = driver.findElement(By.className("setstore btn"));
selectButton.click();
}
}
图片确认“ setstore btn”在源中:
这是源代码中的“ setstore btn ”:
这很可能是由于您尝试在单个By.className()中搜索两个单独的类引起的。“ setstore”和“ btn”分别是自己的类。
尝试更换
WebElement selectButton = driver.findElement(By.className("setstore btn"));
和
WebElement selectButton = driver.findElement(new ByAll(By.className("setstore"), By.className("btn")));
另外,https://stackoverflow.com/a/16090160/1055102提供了另一个不错的选择。
WebElement selectButton = driver.findElement(By.cssSelector(".setstore.btn"));
本文收集自互联网,转载请注明来源。
如有侵权,请联系[email protected] 删除。
我来说两句