質問編集履歴
2
最終的な解決方法を記載
title
CHANGED
File without changes
|
body
CHANGED
@@ -72,4 +72,15 @@
|
|
72
72
|
<selenium.webdriver.remote.webelement.WebElement (session="xxxxxx", element="xxxxxx")>
|
73
73
|
と出力されます。(xxxxは数字とアルファベットの文字列)
|
74
74
|
「It should be an element(エレメントじゃないとダメ)」ということなのですが意味がよくわかりません。
|
75
|
-
申し訳ありませんがヒントを頂けますでしょうか。
|
75
|
+
申し訳ありませんがヒントを頂けますでしょうか。
|
76
|
+
|
77
|
+
### 解決方法
|
78
|
+
皆様から頂いた回答をベースに、希望する動作ができました。
|
79
|
+
最終的なものを記載しておきます。
|
80
|
+
```python
|
81
|
+
name = "ABCD"
|
82
|
+
number = driver.find_element_by_xpath("//div[contains(text(), '" + name + "')]/following-sibling::div/span[1]/span")
|
83
|
+
print(number.text)
|
84
|
+
```
|
85
|
+
※検索する文字を変数(name)に入れると、[contains(text(), name)] ではうまく行かなかったため
|
86
|
+
[contains(text(), '" + name + "')] としました。
|
1
頂いた回答を元に試してみたが、エラーが出てしまった。
title
CHANGED
File without changes
|
body
CHANGED
@@ -10,7 +10,7 @@
|
|
10
10
|
|
11
11
|
初歩的な質問かと思いますが、よろしくお願いいたします。
|
12
12
|
### HTMLの例
|
13
|
-
```
|
13
|
+
```html
|
14
14
|
<li>
|
15
15
|
<div class="item-name">
|
16
16
|
ABCD
|
@@ -41,7 +41,7 @@
|
|
41
41
|
|
42
42
|
### 試したこと
|
43
43
|
色々調べながらテキストを検索するとこまではできましたが、その後numberの数値を探す方法がわかりません。
|
44
|
-
```
|
44
|
+
```python
|
45
45
|
name = "ABCD"
|
46
46
|
link = driver.find_element_by_partial_link_text(name)
|
47
47
|
print('itemがあります')
|
@@ -49,4 +49,27 @@
|
|
49
49
|
|
50
50
|
### 補足情報(FW/ツールのバージョンなど)
|
51
51
|
python3.8
|
52
|
-
selenium 3.141
|
52
|
+
selenium 3.141
|
53
|
+
|
54
|
+
### 追記
|
55
|
+
頂いた回答を元に作成してみましたが、エラーが出てしまいます。
|
56
|
+
なにか考えられる原因ありますでしょうか?
|
57
|
+
```python
|
58
|
+
name = "ABCD"
|
59
|
+
number = driver.find_element_by_xpath("//div[contains(text(), name)]/following-sibling::div/span[1]/span/text()")
|
60
|
+
print(number)
|
61
|
+
```
|
62
|
+
とすると、エラー「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.」
|
63
|
+
が出ます。
|
64
|
+
|
65
|
+
"/text()"を除いて下記のようにした場合
|
66
|
+
```python
|
67
|
+
name = "ABCD"
|
68
|
+
number = driver.find_element_by_xpath("//div[contains(text(), name)]/following-sibling::div/span[1]/span")
|
69
|
+
print(number)
|
70
|
+
```
|
71
|
+
エラーは出ず、
|
72
|
+
<selenium.webdriver.remote.webelement.WebElement (session="xxxxxx", element="xxxxxx")>
|
73
|
+
と出力されます。(xxxxは数字とアルファベットの文字列)
|
74
|
+
「It should be an element(エレメントじゃないとダメ)」ということなのですが意味がよくわかりません。
|
75
|
+
申し訳ありませんがヒントを頂けますでしょうか。
|