我在使用Java在Selenium中定位span元素时遇到问题。
HTML看起来像:
<div class="settings-padding"> <span>Settings</span> </div>
我已经尝试了以下方法,但是没有运气:
By.xpath("span[.='Settings']")
和
By.xpath("span[text()='Settings']")
By.cssSelector("div[class='settings-padding']"))
以及其他一些类似的尝试。您能指出我执行此操作的最佳方法吗?就目前而言,我在日食中不断收到“无法定位元素”错误。
一切xpath看起来都不错,只是语法上有些错误。你失踪//了xpath
xpath
//
正确xpath的如下:
By by = By.xpath("//span[.='Settings']")
要么
By by = By.xpath("//span[text()='Settings']")
By by = By.xpath("//div[@class='settings-padding']/span"))
或者您可以cssSelector用作:-
cssSelector
By by = By.cssSelector("div.settings-padding > span"))
使用上面的任何一个通过定位器,您都可以如下所示定位元素:
WebDriverWait wait = new WebDriverWait(driver, 10); WebElement el = wait.until(presenceOfElementLocated(by));
希望能帮助到你…:)