Python Selenium display:block

PC

久々のSeleniumネタです。

詰まったこととか、うまくいったこととかを備忘的に書いていたりするわけですが、本当に自分のための備忘メモになっております。

「以前もここで詰まったよなー」と思いながらググったら、自サイトのページがヒットしたときの衝撃と言ったらないですよね。
「記事書いたことも忘れてるやん。」という…。

引き続き、PythonSeleniumで色々と遊んでおりますが、得たものは積み上げていきたいところ。

今回詰まったのは、よくある折りたたみ機能の中の何かを選択して作業を進めるヤツ。クリックして開いてから何かの作業を進めるという流れをプログラムしたい。
そんなニーズです。

この折りたたみリストの2番めをクリックして・・・

びろーんと広げる。

で、最初は普通にSelenium上でもクリックさせていたのですね。
そしてその後につなげる、と。

element = wait.until(EC.visibility_of_element_located((By.ID, 'ogpSetting')))
element.click()
element = wait.until(EC.visibility_of_element_located((By.ID, 'eycatch-text')))

特に問題なく動きます。
クリックして、中のリストが出てきて、そしてそこで何かをする、と。

ですが、これを連続して行おうとしたときに問題発生。
プログラムを走らせていた当該のサイトは賢いので、前の状態を記憶しているんですね。

つまり、プログラムが2巡目に入ると、新規ページでは、最初からそのリストは開いたままなのです。
するとどうなるか…。

はい。プログラムは律儀にクリックするので、開いているものを閉じて次の作業に向かいます。
で、待てど暮せど望みのリストが見えませんよ、といってエラーになる、と。

そこで、まずプログラム上で分岐を作ろうとしました。
開いているならそのままで進む、閉じているならクリックして開けてから進む、という具合に。
でも、しばらくしてふと思ったのです。
これって、「開けておく」の指示をするだけで良いのでは?

というわけで書いたのがこちら。

driver.execute_script("document.getElementById('ogpSetting').style.display = 'block';")
element = wait.until(EC.visibility_of_element_located((By.ID, 'eycatch-text')))

今現在、開いていようと閉じていようと「display:block」にしてください、という指示になります。

Selenium本

Selenium実践入門 自動化による継続的なブラウザテスト (WEB+DB press plusシリーズ) [ 伊藤望 ]
Selenium実践入門 自動化による継続的なブラウザテスト (WEB+DB press plusシリーズ) [ 伊藤望 ] 3,630円(税込)【送料込】

楽天ブックス

自動化による継続的なブラウザテスト WEB+DB press plusシリーズ 伊藤望 戸田広 技術評論社セレニウム ジッセン ニュウモン イトウ,ノゾミ トダ,ヒロシ 発行年月:2016年02月02

Seleniumデザインパターン & ベストプラクティス [ DimaKovalenko ]
Seleniumデザインパターン & ベストプラクティス [ DimaKovalenko ] 3,300円(税込)【送料込】

楽天ブックス

DimaKovalenko 太田健一郎 オライリー・ジャパン オーム社セレニウム デザインパターン アンド ベストプラクティス ディマコヴァレンコ オオタケンイチロウ 発行年月:2015年09月25日

実践Selenium WebDriver [ サタヤ・アバサララ ]
実践Selenium WebDriver [ サタヤ・アバサララ ] 3,300円(税込)【送料込】

楽天ブックス

サタヤ・アバサララ 玉川竜司 オライリー・ジャパン オーム社ジッセン セレニウム ウェブドライバー アバサララ,サタヤ タマガワ,リュウジ 発行年月:2014年09月 ページ数:240p サイズ:単行

500 Selenium Testing Interview Questions and Answers【電子書籍】[ Vamsee Puligadda ]
500 Selenium Testing Interview Questions and Answers【電子書籍】[ Vamsee Puligadda ] 200円(税込)【送料込】

楽天Kobo電子書籍ストア

<p>Knowledge for Free...</p> <p>Get that job, you aspire for!</p> <p>Want to switch to that high pay

【送料無料】 Selenium実践入門 自動化による継続的なブラウザテスト WEB+DB PRESS plusシリーズ / 伊藤望 (Book) 【本】
【送料無料】 Selenium実践入門 自動化による継続的なブラウザテスト WEB+DB PRESS plusシリーズ / 伊藤望 (Book) 【本】 3,630円(税込)【送料込】

HMV&BOOKS online 1号店

基本情報ジャンル建築・理工フォーマット本出版社技術評論社発売日2016年02月ISBN9784774178943発売国日本サイズ・ページ395p 21cm(A5)関連キーワード 97847741789

楽天ウェブサービスセンター
タイトルとURLをコピーしました