質問編集履歴
1
誤字を修正しました。
title
CHANGED
File without changes
|
body
CHANGED
@@ -1,13 +1,13 @@
|
|
1
1
|
### 問題
|
2
|
-
StaleElementReferenceException(element is not attached to...)エラー
|
2
|
+
StaleElementReferenceException(element is not attached to...)エラーを解決したい。
|
3
3
|
|
4
4
|
### 前提・実現したいこと
|
5
|
-
Phpwebdriverを使って、
|
5
|
+
Phpwebdriverを使って、あるWEBサイトのスクレイピングをしています。
|
6
6
|
プログラム自体はほぼちゃんと動いていて、欲しいデータも拾えているのですが、
|
7
7
|
数百回に1度ほどの割合で、PHP Fatal errorが起こってしまうのを解決したいです。
|
8
8
|
※エラーはランダムで発生しています。
|
9
9
|
|
10
|
-
エラーの内容は下
|
10
|
+
エラーの内容は以下です。
|
11
11
|
```StaleElementReferenceException
|
12
12
|
PHP Fatal error: Uncaught Facebook\WebDriver\Exception\StaleElementReferenceException: stale element reference: element is not attached to the page document
|
13
13
|
(Session info: headless chrome=69.0.3497.100)
|
@@ -18,7 +18,7 @@
|
|
18
18
|
・要素が現れるまで明示的に待機する
|
19
19
|
・try...catchで例外を投げてループし、成功するまでTRYさせる
|
20
20
|
上記の二つが有効かと思い、下記のコードで試してみました。
|
21
|
-
|
21
|
+
しかし、やはりまれにですが、同じエラーが起きてしまいます。。。
|
22
22
|
※エラーの際にループが実行すらされないので、コードの基本的なところも間違っているかもしれません。
|
23
23
|
```php
|
24
24
|
|
@@ -51,7 +51,9 @@
|
|
51
51
|
エラーが起きてしまったときに、
|
52
52
|
プログラムを止めずその要素の取得だけ飛ばして、
|
53
53
|
次の処理に進めるという形での解決でも構わないです。
|
54
|
-
今のコードだとエラーが起きた時点でプログラムが止まってしま
|
54
|
+
今のコードだとエラーが起きた時点でプログラムが止まってしまい
|
55
|
+
その後の処理が実行されないので、
|
56
|
+
可能であればそれだけでも回避できればうれしいです。
|
55
57
|
|
56
58
|
### 質問者のレベル
|
57
59
|
まだPHPおよびプログラミングをはじめて10ヶ月ほどの素人なので
|