質問編集履歴

2

最終的な解決方法を記載

2021/01/15 00:45

投稿

Hiroms
Hiroms

スコア17

test CHANGED
File without changes
test CHANGED
@@ -147,3 +147,25 @@
147
147
  「It should be an element(エレメントじゃないとダメ)」ということなのですが意味がよくわかりません。
148
148
 
149
149
  申し訳ありませんがヒントを頂けますでしょうか。
150
+
151
+
152
+
153
+ ### 解決方法
154
+
155
+ 皆様から頂いた回答をベースに、希望する動作ができました。
156
+
157
+ 最終的なものを記載しておきます。
158
+
159
+ ```python
160
+
161
+ name = "ABCD"
162
+
163
+ number = driver.find_element_by_xpath("//div[contains(text(), '" + name + "')]/following-sibling::div/span[1]/span")
164
+
165
+ print(number.text)
166
+
167
+ ```
168
+
169
+ ※検索する文字を変数(name)に入れると、[contains(text(), name)] ではうまく行かなかったため
170
+
171
+ [contains(text(), '" + name + "')] としました。

1

頂いた回答を元に試してみたが、エラーが出てしまった。

2021/01/15 00:45

投稿

Hiroms
Hiroms

スコア17

test CHANGED
File without changes
test CHANGED
@@ -22,7 +22,7 @@
22
22
 
23
23
  ### HTMLの例
24
24
 
25
- ```
25
+ ```html
26
26
 
27
27
  <li>
28
28
 
@@ -84,7 +84,7 @@
84
84
 
85
85
  色々調べながらテキストを検索するとこまではできましたが、その後numberの数値を探す方法がわかりません。
86
86
 
87
- ```
87
+ ```python
88
88
 
89
89
  name = "ABCD"
90
90
 
@@ -101,3 +101,49 @@
101
101
  python3.8
102
102
 
103
103
  selenium 3.141
104
+
105
+
106
+
107
+ ### 追記
108
+
109
+ 頂いた回答を元に作成してみましたが、エラーが出てしまいます。
110
+
111
+ なにか考えられる原因ありますでしょうか?
112
+
113
+ ```python
114
+
115
+ name = "ABCD"
116
+
117
+ number = driver.find_element_by_xpath("//div[contains(text(), name)]/following-sibling::div/span[1]/span/text()")
118
+
119
+ print(number)
120
+
121
+ ```
122
+
123
+ とすると、エラー「Message: invalid selector: The result of the xpath expression "//div[contains(text(), name)]/following-sibling::div/span[1]/span/text()" is: [object Text]. It should be an element.」
124
+
125
+ が出ます。
126
+
127
+
128
+
129
+ "/text()"を除いて下記のようにした場合
130
+
131
+ ```python
132
+
133
+ name = "ABCD"
134
+
135
+ number = driver.find_element_by_xpath("//div[contains(text(), name)]/following-sibling::div/span[1]/span")
136
+
137
+ print(number)
138
+
139
+ ```
140
+
141
+ エラーは出ず、
142
+
143
+ <selenium.webdriver.remote.webelement.WebElement (session="xxxxxx", element="xxxxxx")>
144
+
145
+ と出力されます。(xxxxは数字とアルファベットの文字列)
146
+
147
+ 「It should be an element(エレメントじゃないとダメ)」ということなのですが意味がよくわかりません。
148
+
149
+ 申し訳ありませんがヒントを頂けますでしょうか。