我正在尝试使this网站上的几种Selenium方案自动化
我试图通过提供以下XPATH来点击“类别”链接
//a[contains(text(), 'CATEGORIES')]/@href
我遇到InvalidSelector
错误。您能为此建议一个替代的XPATH吗?
答案 0 :(得分:1)
“类别”部分以文本形式存储在html结构中,因此您可以使用下面的xpath通过匹配其文本来找到它:
WebElement categoriesSection = driver.findElement(By.xpath("//a[text()='CATEGORIES']"));
答案 1 :(得分:1)
使用动作类单击元素。
Actions action=new Actions(driver);
action.moveToElement(driver.findElement(By.xpath("//a[contains(text(), 'CATEGORIES')]"))).click().build().perform();
请注意:使用以下导入。
import org.openqa.selenium.interactions.Actions;
答案 2 :(得分:1)
仅供参考:
<ul>
<li><a href="index.php">HOME</a></li>
<li><a href="catlist.php">CATEGORIES</a></li>
<li><a href="brands.php">BRANDS</a></li>
<li><a href="products.php">PRODUCTS</a></li>
<li><a href="cart.php">MY CART</a></li>
<li><a href="tracking.php">TRACKING</a></li>
<li><a href="customerlogin.php">ACCOUNT</a>
</li>
<li><a href="faq.php">FAQ'S</a></li>
<li><a href="aboutus.php">ABOUT US</a></li>
</ul>
使用链接文本的替代方法: => By.linkText(“类别”)
driver.findElement(By.linkText("CATEGORIES")).click();