<Python, selenium> 空白のあるクラス名を選択するには、、
Selenium
で、空白のあるクラス名を選択するには、、、 how to select the class name having a blank in it?
まずは、xpath
を使う。
In [133]: from selenium import webdriver In [144]: d = webdriver.Chrome() In [145]: d.get('http://nekoyukimmm.hatenablog.com/entry/2017/04/27/164336') In [146]: d.find_element_by_xpath('//*[@id="box2-inner"]/div[3]') Out[146]: <selenium.webdriver.remote.webelement.WebElement (session="a489f57900d9be9af6a6356176a89bd9", element="0.23540204403336795-1")> In [148]: d.find_element_by_xpath('//*[@id="box2-inner"]/div[3]').text Out[148]: 'カテゴリー\nselenium (2) Python (305) sentdex (2) pandas (86) Office2016 (1) numpy (7) pyplot (4) Javascript (15) jQuery (11) JSFiddle (3) flask (26) Vim (62) gspread (2) requests (2) Json (7) Google Cloud Platform (4) dos (5) conda (7) Github (11) msys2 (21) Anaconda (5) handsontable (1) Bootstrap (1) Google App Engine (5) Windows (24) matplotlib (27) seaborn (12) ATOM (5) datetime (2) SQLite (7) peewee (2) Apache (1) Beautiful Soup (7) Visual Studio (1) Linux (29) ftp (1) Werkzeug (1) html (11) tqdm (1) Unix Command (2) ssh (2) zsh (10) iPython (22) pacman (4) Cheatsheet (5) css (5) regexp (8) jinja (2) highcharts (8) socket (2) mermaid (2) Markdown (7) CDN (1) Bash (20) Network (2) Outlook (3) Pygments (1) Web (1) tmux (2) pip (5) Solarized (4) KDE (1) mintty (2) Putty (1) Go (2) peco (2) dotfiles (1) Jupyter (5) VBA (5) Excel (7) Surfingkeys (2) NeoBundle (2) SystemVerilog (1) x240 (4) MinGW+mintty (8) Sphinx (2) X (2) japandas (1) urllib (2) readability-lxml (2) html2text (1) Chrome (2) plotly (4) statistics (1) Office2013 (4) cron (1) bokeh (1) pptx (4) PIL (2) pdb (1) docopt (1) cgi (1) Jedi (4) XML (1) mpld3 (2) tput (1) iconv (1) mutt (1) Vundle (1) sed (1) Gow (2) ggplot (1) Perl (3)'
で、find_element_by_class_name
をしてみる。
ゲロ、、エラー。
In [155]: d.find_element_by_class_name('hatena-module hatena-module-category') --------------------------------------------------------------------------- InvalidSelectorException Traceback (most recent call last)
その場合は、find_element_by_xpath
で、div[@class='hage hage']
とするらしい。
In [157]: d.find_element_by_xpath('//div[@class="hatena-module hatena-module-category"]') Out[157]: <selenium.webdriver.remote.webelement.WebElement (session="a489f57900d9be9af6a6356176a89bd9", element="0.23540204403336795-1")> In [158]: d.find_element_by_xpath('//div[@class="hatena-module hatena-module-category"]').text Out[158]: 'カテゴリー\nselenium (2) Python (305) sentdex (2) pandas (86) Office2016 (1) numpy (7) pyplot (4) Javascript (15) jQuery (11) JSFiddle (3) flask (26) Vim (62) gspread (2) requests (2) Json (7) Google Cloud Platform (4) dos (5) conda (7) Github (11) msys2 (21) Anaconda (5) handsontable (1) Bootstrap (1) Google App Engine (5) Windows (24) matplotlib (27) seaborn (12) ATOM (5) datetime (2) SQLite (7) peewee (2) Apache (1) Beautiful Soup (7) Visual Studio (1) Linux (29) ftp (1) Werkzeug (1) html (11) tqdm (1) Unix Command (2) ssh (2) zsh (10) iPython (22) pacman (4) Cheatsheet (5) css (5) regexp (8) jinja (2) highcharts (8) socket (2) mermaid (2) Markdown (7) CDN (1) Bash (20) Network (2) Outlook (3) Pygments (1) Web (1) tmux (2) pip (5) Solarized (4) KDE (1) mintty (2) Putty (1) Go (2) peco (2) dotfiles (1) Jupyter (5) VBA (5) Excel (7) Surfingkeys (2) NeoBundle (2) SystemVerilog (1) x240 (4) MinGW+mintty (8) Sphinx (2) X (2) japandas (1) urllib (2) readability-lxml (2) html2text (1) Chrome (2) plotly (4) statistics (1) Office2013 (4) cron (1) bokeh (1) pptx (4) PIL (2) pdb (1) docopt (1) cgi (1) Jedi (4) XML (1) mpld3 (2) tput (1) iconv (1) mutt (1) Vundle (1) sed (1) Gow (2) ggplot (1) Perl (3)'
できた。
さんくー、スタックオーバーフロー。