こんにちは
CSSセレクタで要素を取得すればよいと思います。具体的には以下です。
python
1driver.find_element_by_css_selector('div > a:first-child')
以下は上記をテストするためのコード例です。
以下のようなHTMLを作成します。名前は test.html
とします。
html
1<!DOCTYPE html>
2<html lang="ja">
3<head>
4 <meta charset="UTF-8">
5 <title>Test</title>
6</head>
7<body>
8 <div>
9 <div>
10 <a>A</a>
11 <div>
12 <div>
13 <div>
14 <a>B</a>
15 </div>
16 <div>
17 </div>
18 </div>
19 </div>
20 </div>
21 <div>
22 <div>
23 <div>
24 <a>C</a>
25 </div>
26 </div>
27 </div>
28 <div>
29 </div>
30 <a>D</a>
31 </div>
32</body>
33</html>
次に、上記の test.html
と同じディレクトリに、以下のPythonスクリプトを作成します。
python
1from selenium import webdriver
2import os
3
4driver = webdriver.Chrome()
5driver.get('file://%s/test.html' % os.path.dirname(__file__))
6
7a = driver.find_element_by_css_selector('div > a:first-child')
8
9print(a.text)
10
11driver.close()
上記のスクリプトは、 test.html
をseleniumからのChromeで開いて、CSSセレクタ div > a:first-child
で取得される <a>
で囲まれたテキストを表示するもので、正常に実行されると
と表示されます。
以上参考になれば幸いです。
バッドをするには、ログインかつ
こちらの条件を満たす必要があります。
2018/11/13 12:31
2018/11/13 17:43