ノンプロ研Python初級講座_第6期_第6回

2
Shin8 @nonpro_shin8

表に関してはもっと便利なツールとしてPandas ライブラリがある → ノンプロ本のPython本の10章を参照 #ノンプロ研 #Python講座

2021-10-20 20:29:51
こはた|Python、GAS勉強中 @kohaku935

selenium ブラウザを操作するライブラリ。 Python公式でも、Anaconda同梱でもないライブラリで、サードパーティ製。 ライブラリのインストールが最初に必要。 #ノンプロPython本 11章に記載 #ノンプロ研 #Python講座

2021-10-20 20:31:04
こはた|Python、GAS勉強中 @kohaku935

事前課題で、インストールをお願いしていました。 pip installでインストールしましたが、他のサードパーティー製のライブラリを使う練習にもなるかと思います。 #ノンプロ研 #Python講座

2021-10-20 20:32:05
Shin8 @nonpro_shin8

サードパーティ製のライブラリを使用する際はpip でインストールして利用する #ノンプロ研 #Python講座

2021-10-20 20:32:06
こはた|Python、GAS勉強中 @kohaku935

Seleniumで良く使うクラスは、下記2つ。 ・WebDriver ・WebElement このクラスのメソッドで、さまざまな操作をしていくことができます。 #ノンプロ研 #Python講座

2021-10-20 20:32:52
こはた|Python、GAS勉強中 @kohaku935

seleniumは、Chrome以外にも他のブラウザ向けのWebDriverが用意されている。 使用するブラウザごとに、WebDriverをインストールしておく必要があります。 #ノンプロ研 #Python講座

2021-10-20 20:33:24
こはた|Python、GAS勉強中 @kohaku935

WebElementオブジェクトは、BeautifulSoup4でいうと、Tagオブジェクトと同じような位置付け。 違いは、クリックしたり、文字を入力したりなどの操作ができること。 #ノンプロ研 #Python講座

2021-10-20 20:33:34
こはた|Python、GAS勉強中 @kohaku935

WebDriverオブジェクトの主なメンバーは、#ノンプロPython本 11.2.3 表11-3にも記載されています。 絶対使うのは、getメソッド。ブラウザでURLページを開く。 #ノンプロ研 #Python講座

2021-10-20 20:33:41
こはた|Python、GAS勉強中 @kohaku935

seleniumで取得したページソースを、beautifulsoup4に渡してSoup化する、という連携技もできます。 #ノンプロ研 #Python講座

2021-10-20 20:35:35
George.I@GAS、Python勉強中 @InvestorVet_

おまちかねのseleniumによるブラウザ操作 デスクトップがwindowで埋め尽くされカオスに・・・ #ノンプロ研 #Python講座

2021-10-20 20:37:51
こはた|Python、GAS勉強中 @kohaku935

webdriver.Chromeの第1引数は、driver_file: WebDriverパスは、絶対パスでも、相対パスでも指定することは可能。 #ノンプロ研 #Python講座

2021-10-20 20:41:57
Shin8 @nonpro_shin8

drive_file の指定は相対パスでもOK 同じフォルダ内に入れておくと便利 #ノンプロ研 #Python講座

2021-10-20 20:42:25
こはた|Python、GAS勉強中 @kohaku935

webdriver.Chromeの第1引数は、Macで、かつhomebrewでインストール時は引数の指定は不要です。 #ノンプロ研 #Python講座

2021-10-20 20:42:30
こはた|Python、GAS勉強中 @kohaku935

条件に合った要素を1つ取得したい場合、find_element_by***メソッドが用意されています。 取得したい種類ごとにメソッドがある点は、beautifulsoup4のメソッドと異なります。 #ノンプロ研 #Python講座

2021-10-20 20:42:37
kmk|ビジネスアナリスト @vicky_kmk

セレニウムの戻り値は、WebElementオブジェクト。 find_element_by #ノンプロ研 #Python講座

2021-10-20 20:44:09
George.I@GAS、Python勉強中 @InvestorVet_

なるほど過去にネットで写経したときはbeautifulsoupとseleniumのメソッドの違いが区別できていなかったようだ #ノンプロ研 #Python講座

2021-10-20 20:47:41
Shin8 @nonpro_shin8

Beautiful soup と異なり、.text がないと読めない表記になってしまう #ノンプロ研 #Python講座

2021-10-20 20:49:35
こはた|Python、GAS勉強中 @kohaku935

browser.find_element_by_***の戻り値は、WebElementオブジェクト。そのまま表示してもなんだかわからないので、.textで表示して確認します。 #ノンプロ研 #Python講座

2021-10-20 20:49:53
こはた|Python、GAS勉強中 @kohaku935

条件に合った要素を複数取得したい場合、find_elements_by***メソッドが用意されています。 id以外は、find_element_by***メソッドと同じです。 idはページに1つしかない、複数要素があることがないため。 #ノンプロ研 #Python講座

2021-10-20 20:50:24
こはた|Python、GAS勉強中 @kohaku935

デベロッパーツールのElements上で、クラスを検索するときは、”でくくって探すと探しやすい。 #ノンプロ研 #Python講座

2021-10-20 20:56:59
George.I@GAS、Python勉強中 @InvestorVet_

ダブルコーテーションこみで検索するテクニック!! #ノンプロ研 #Python講座

2021-10-20 20:57:06
kmk|ビジネスアナリスト @vicky_kmk

クラスの前後はダブルクォーテーションで囲われているので、検索のときに””を含めると、より検索精度があがる。#ノンプロ研 #Python講座

2021-10-20 20:57:07
Shin8 @nonpro_shin8

クラス属性を検索する際は” ”で囲むと検索範囲を絞ることができる #ノンプロ研 #Python講座

2021-10-20 20:57:39
こはた|Python、GAS勉強中 @kohaku935

find_elements_by***,find_element_by***は似てるから、間違いやすい。。。エラーが出て間違って使っていたことに気づく。 #ノンプロ研 #Python講座

2021-10-20 20:58:04