私は自動化、Selenium Web Driverを初めて使用し、Amazonを使用してコードを練習しています。
Amazonホームページのログインしているユーザー名(Hello、Nichole)を確認したいが、CSSまたはXpathを使用して入力したものはエラーになる。私はまた、
//@FindBy (how=How.CSS, using= "a:contains'Hello,Nichole')") WebElement loggedInUsernameText;
あまりにも多くのバリエーションを試したので、xpath式を追加するつもりはありません。
I have attached a screenshot of the HTML code-
私はより多くの情報を提供する必要がある場合、
ベストアンサー
cssSelectorを使用してテキストを使用して要素を検索する方法は、cssSelectorでは許可されません。
CSSセレクタには、テキストを使って要素を見つける方法はありません。そのためには、以下のようにxpath
locatorを使用する必要があります。
//a[@id='nav-link-yourAccount']/span[contains(.,'Nichole')]
例えば
@FindBy (how=How.XPATH, using= "//a[@id='nav-link-yourAccount']/span[contains(.,'Nichole')]")
WebElement loggedInUsernameText;
私は同じCSSファイルを見つけるために以下のCSSパスをお勧めします。
#nav-link-yourAccount>span:nth-of-type(1)
例えば
@FindBy (how=How.CSS, using= "#nav-link-yourAccount>span:nth-of-type(1)")
WebElement loggedInUsernameText;
そして、 getText()
メソッドを使ってテキストを取得することができます
System.out.println(loggedInUsernameText.getText());