yoshikazu0110
@yoshikazu0110 (h y)

Are you sure you want to delete the question?

If your question is resolved, you may close it.

Leaving a resolved question undeleted may help others!

We hope you find it useful!

selenium スクレイピングにて 対象のコンピューターによって拒否されたため、接続できませんでした。とエラー

発生している問題・エラー

Seleniumで以下のようなエラーが発生して
リモートサーバーからボット判定されてアクセスブロックされたということですかね?

ローカルに問題があるのか、ただ単にリクエスト送信先にブロックされているのかよくわからなくて困っています。FindElementsはリモートサーバーにリクエストを送信するわけではないですよね?だからローカルの何かに問題があるんですかね?

FindElementsによる要素の検索

2022-11-10 10:53:40.3921|ERROR|TravelcoTool.TravelcoScrape|An unknown exception was encountered sending an HTTP request to the remote WebDriver server for URL http://localhost:56813/session/9894ed9410d70b7b980eb2fbbfb8493c/elements. The exception message was: 対象のコンピューターによって拒否されたため、接続できませんでした。
   at OpenQA.Selenium.Remote.HttpCommandExecutor.Execute(Command commandToExecute)
   at OpenQA.Selenium.Remote.DriverServiceCommandExecutor.Execute(Command commandToExecute)
   at OpenQA.Selenium.WebDriver.Execute(String driverCommandToExecute, Dictionary`2 parameters)
   at OpenQA.Selenium.WebDriver.FindElements(String mechanism, String value)
   at OpenQA.Selenium.By.<.ctor>b__11_1(ISearchContext context)
   at OpenQA.Selenium.By.FindElements(ISearchContext context)
   at OpenQA.Selenium.WebDriver.FindElements(By by)

GoToUrlメソッドによるWebRequest

2022-11-10 10:53:44.4944|ERROR|TravelcoTool.TravelcoScrape|An unknown exception was encountered sending an HTTP request to the remote WebDriver server for URL http://localhost:56813/session/9894ed9410d70b7b980eb2fbbfb8493c/url. The exception message was: 対象のコンピューターによって拒否されたため、接続できませんでした。
   at OpenQA.Selenium.Remote.HttpCommandExecutor.Execute(Command commandToExecute)
   at OpenQA.Selenium.Remote.DriverServiceCommandExecutor.Execute(Command commandToExecute)
   at OpenQA.Selenium.WebDriver.Execute(String driverCommandToExecute, Dictionary`2 parameters)
   at OpenQA.Selenium.WebDriver.set_Url(String value)
   at OpenQA.Selenium.Navigator.GoToUrl(String url)
0

1Answer

Comments

  1. @yoshikazu0110

    Questioner

    WebDriverManagerでPCにインストールされたChromeバージョンに合ったドライバーを取得して、使うようにしています。

    記事のようなエラーが発生する前に、以下の一連の操作を2回実施し成功していて、3回目で記事のようなエラーが発生してしまいましたね。
    driver.GoToUrl(......)
    driver.FindElements(.....)

  2. ''一連の操作を2回実施し成功''

    1. xpathが変更された?(ElementsIDが急に2つに増えた)
    2. サイトで cors origin がきつめに設定された。
    3. os側のFWでlocalhostか?56813か?禁止された。3回でDosナイナイ!
    でしょうか?
  3. @yoshikazu0110

    Questioner

    コメントありがとうございます。
    FWでフィルターされてる説で調べてみます!

    状況的には以下のような感じでですね。
    ■開発
    Win11 home で 開発して、動かして

    ■動作確認
    ①Win11 home(自分の、自分の家のネットワーク) エラーは発生せず 
    ②Win10 home(自分の、自分の家のネットワーク) エラーは発生せず
    ③Win10 home(友達の、友達の家のネットワーク) エラー発生
    ①②は2日ぐらい動かしても大丈夫でした。

    なので1,2の説は薄いですよね?
  4. powerShellがwindowsのセキュリティでガードが掛けられいませんか?

    webDriverの中継サーバーをpowerShellで作成したのですが、急にwindowsのセキュリティでガード掛けられあたふたしたことを思い出します。

Your answer might help someone💌