我在頁面中有一個元素,如下所示。我如何使用Selenium來獲取文本「添加新成員」。使用Selenium在href中查找HTML元素
<a ng-if="userCanEdit" class="btn btn-primary ng-scope" ui-sref="orgs-add" href="#/orgs/add">
<i>Add New Member</i>
</a>
我做了以下嘗試這個代碼,但它不工作
System.out.println(driver.findElement(By.cssSelector("a[href='#/orgs/add']")).getText());
而且,我的JavaScript控制檯,計算表達式,('a[href="#/orgs/add"]')
正確。
編輯:我剛碰到如下,當我嘗試上面的代碼。
*** Element info: {Using=css selector, value=a[href='#/orgs/add']}
at sun.reflect.NativeConstructorAccessorImpl.newInstance0(Native Method)
at sun.reflect.NativeConstructorAccessorImpl.newInstance(NativeConstructorAccessorImpl.java:62)
at sun.reflect.DelegatingConstructorAccessorImpl.newInstance(DelegatingConstructorAccessorImpl.java:45)
at java.lang.reflect.Constructor.newInstance(Constructor.java:423)
at org.openqa.selenium.remote.ErrorHandler.createThrowable(ErrorHandler.java:216)
at org.openqa.selenium.remote.ErrorHandler.throwIfResponseFailed(ErrorHandler.java:168)
at org.openqa.selenium.remote.RemoteWebDriver.execute(RemoteWebDriver.java:635)
at org.openqa.selenium.remote.RemoteWebDriver.findElement(RemoteWebDriver.java:368)
at org.openqa.selenium.remote.RemoteWebDriver.findElementByCssSelector(RemoteWebDriver.java:465)
at org.openqa.selenium.By$ByCssSelector.findElement(By.java:430)
at org.openqa.selenium.remote.RemoteWebDriver.findElement(RemoteWebDriver.java:360)
at hello.validate(hello.java:101)
at hello.main(hello.java:60)
有啥輸出的你,你所提到的代碼的故事嗎? –
你的HTML說「#/ members/add」,但你的cssSelector使用「#/ orgs/add」。任何你犯錯的機會 - 你只需要使用「#/ members/add」? –
@StoyanBerov,這不是原因。我剛纔編輯過。我試圖發佈一個樣本。 – learningboy