質問をすることでしか得られない、回答やアドバイスがある。

15分調べてもわからないことは、質問しよう!

新規登録して質問してみよう
ただいま回答率
85.31%
Python 3.x

Python 3はPythonプログラミング言語の最新バージョンであり、2008年12月3日にリリースされました。

selenium

Selenium(セレニウム)は、ブラウザをプログラムで作動させるフレームワークです。この原理を使うことにより、ブラウザのユーザーテストなどを自動化にすることができます。

Q&A

1回答

4504閲覧

find_element_by_css_selectorの使い方

shirai

総合スコア1290

Python 3.x

Python 3はPythonプログラミング言語の最新バージョンであり、2008年12月3日にリリースされました。

selenium

Selenium(セレニウム)は、ブラウザをプログラムで作動させるフレームワークです。この原理を使うことにより、ブラウザのユーザーテストなどを自動化にすることができます。

0グッド

0クリップ

投稿2019/08/07 04:13

実現したいこと

以下のようなDOMに対してスクレイピングを行います。
「男性」と表示されたラジオボタンのクリックが目的です。

html

1<table class="fugafuga"> 2 <tbody> 3 <tr> 4 <th>...</th> 5 <td> 6 <label> 7 <input name="sex" value="1" type="radio" id="hogehoge"> 8 "男性" 9 </label> 10 <label> 11 <input name="sex" value="0" type="radio" id="hogehoge"> 12 "女性" 13 </label> 14 </td> 15 </tr> 16 <tr> 17 <th>...</th> 18 <td class="hoge">...</td> 19 </tr> 20 <tr> 21 <th>...</th> 22 <td>...</td> 23 </tr> 24 <tr id="fuga"> 25 <th>...</th> 26 <td>...</td> 27 </tr> 28 <tr> 29 <th>...</th> 30 <td>...</td> 31 </tr> 32 <tr> 33 <th>...</th> 34 <td>...</td> 35 <script type="text/javascript">...</script> 36 </tr> 37 </tbody> 38</table>

これに対して、

python

1driver.find_element_by_tag_name('tbody').find_elements_by_tag_name('tr')[0].find_element...

としてやってクリックができたのですが、
よりシンプルに記述するためにcssセレクタを利用できないかと考えました。

が、残念なことに私はcssを勉強したことがないのでよく分かっておりません。

python

1driver.find_element_by_css_selector('XXXXXXXXXXXXXXXX').click()

一撃で書くためにXXXXXXXXXXXXXXXXに記述すべきプログラムをご教授願います。

気になる質問をクリップする

クリップした質問は、後からいつでもMYページで確認できます。

またクリップした質問に回答があった際、通知やメールを受け取ることができます。

バッドをするには、ログインかつ

こちらの条件を満たす必要があります。

guest

回答1

0

調べたら参考になりそうなのがすぐ出てきますけど少しでも検索する努力はしましたか?

https://www.seleniumqref.com/api/python/element_get/Python_find_element_by_css_selector.html

https://www.asobou.co.jp/blog/web/css-selectors

投稿2019/08/07 04:25

azuapricot

総合スコア2343

バッドをするには、ログインかつ

こちらの条件を満たす必要があります。

azuapricot

2019/08/07 04:26

「私はcssを勉強したことがないのでよく分かっておりません」 CSSというかHTMLの基本というか・・・もう少しグーグル先生に聞く努力をしてもいいんじゃないかと。
shirai

2019/08/07 04:40

質問の仕方が悪かったです。すみません。 ご提示いただいたurlの内容については最低限勉強をしたのですが、 具体的にXXXXXXXXXXXXXXXに入れる際の入れ子構造の書き方と言いますか、 プログラムとして具体的にどうかくべきなのかが分からずに質問に至りました。
azuapricot

2019/08/07 04:58

セレクタ使うのに入れ子構造で書く必要があるんですか? 男性のラジオボタンをクリックしたいだけなら、ラジオボタンにクラス名でもIDでも持たせて、 ".クラス名" とか 入れるだけな気がするんですけど・・・(動作確認はしてませんが)
guest

あなたの回答

tips

太字

斜体

打ち消し線

見出し

引用テキストの挿入

コードの挿入

リンクの挿入

リストの挿入

番号リストの挿入

表の挿入

水平線の挿入

プレビュー

まだベストアンサーが選ばれていません

会員登録して回答してみよう

アカウントをお持ちの方は

15分調べてもわからないことは
teratailで質問しよう!

ただいまの回答率
85.31%

質問をまとめることで
思考を整理して素早く解決

テンプレート機能で
簡単に質問をまとめる

質問する

関連した質問