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

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

新規登録して質問してみよう
ただいま回答率
85.35%
Google Chrome OS

Google Chrome OSは、Google社が開発するオープンソースのオペレーティングシステムです。Linuxベースで、同社のWebブラウザーであるGoogle Chromeの利用を目的としています。

Python

Pythonは、コードの読みやすさが特徴的なプログラミング言語の1つです。 強い型付け、動的型付けに対応しており、後方互換性がないバージョン2系とバージョン3系が使用されています。 商用製品の開発にも無料で使用でき、OSだけでなく仮想環境にも対応。Unicodeによる文字列操作をサポートしているため、日本語処理も標準で可能です。

selenium

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

Q&A

解決済

1回答

2360閲覧

python, seleniumでgoogle chromeを操作して、ページ中部のリンクをクリックすることができませんでした。

20200713

総合スコア16

Google Chrome OS

Google Chrome OSは、Google社が開発するオープンソースのオペレーティングシステムです。Linuxベースで、同社のWebブラウザーであるGoogle Chromeの利用を目的としています。

Python

Pythonは、コードの読みやすさが特徴的なプログラミング言語の1つです。 強い型付け、動的型付けに対応しており、後方互換性がないバージョン2系とバージョン3系が使用されています。 商用製品の開発にも無料で使用でき、OSだけでなく仮想環境にも対応。Unicodeによる文字列操作をサポートしているため、日本語処理も標準で可能です。

selenium

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

0グッド

0クリップ

投稿2020/07/31 14:00

前提・実現したいこと

python, seleniumでgoogle chromeを操作して、ページ中部のリンクをクリックすることができませんでした。
具体的にはgoogleニュース(https://news.google.com/)ページ中部の「おすすめのニュースをもっと見る」というリンクや
gigafile(https://gigafile.nu/)ページ中部の「ファイルを選択」というボタンを押すことができません。

発生している問題・エラーメッセージ

selenium.common.exceptions.NoSuchElementException: Message: no such element: Unable to locate element: {"method":"partial link text","selector":"日本のニュースをもっと見る"} (Session info: chrome=84.0.4147.105)

該当のソースコード

python

1from selenium import webdriver 2from selenium.webdriver.support.ui import WebDriverWait 3from selenium.webdriver.support import expected_conditions as EC 4from selenium.webdriver.common.by import By 5from selenium.webdriver.common.action_chains import ActionChains 6 7driver = "パス" 8driver.get("https://news.google.com/") 9 10element = driver.find_element_by_partial_link_text("日本のニュースをもっと見る") 11 12actions = ActionChains(driver) 13actions.move_to_element(element) 14actions.perform() 15 16print(element.is_displayed()) 17element.click()

試したこと

見様見真似で
・要素部分までスクロールする
・作動ごとに一定時間待つ命令を入れる
等ためしましたがうまく行きませんでした。
当方selenium初心者です。
何卒、ご教授いただけましたら助かります。

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

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

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

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

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

shirai

2020/08/01 03:26

print(driver.page_source)と打って目的のタグは出てきますか?
20200713

2020/08/01 04:07

コメントいただきありがとうございます。 driver.get("https://news.google.com/") print(driver.page_source) で実行したところ表示されたコードに目的の"日本のニュースをもっと見る"というタグは含まれませんでした…!
shirai

2020/08/01 10:33 編集

それが NoSuchElementException: Message: no such element: Unable to locate element: {"method":"partial link text","selector":"日本のニュースをもっと見る"} 「日本のニュースをもっと見る」という文字列がテキストの一部にあるタグは存在しませんよ というエラーが起こっている原因です。 代わりに出力されたテキストを貼り付けていただいてもいいですか?
20200713

2020/08/01 11:21

<html lang="ja" dir="ltr"><head><script src="https://www.gstatic.com/_/mss/boq-dots/_/js/k=boq-dots.DotsSplashUi.ja.X2sqJ7xfSfI.es5.O/ck=boq-dots.DotsSplashUi.qDYN30P4jtw.L.B1.O/am=C2HseKE/d=1/exm=A4UTCb,A7fCU,AtORod,BVgquf,CBlRxf,CLDLad,COQbmf,DLq0be,DVmNNd,DcYg4c,Dy4pDd,E8sThf,EBW0uc,EFQ78c,EGNJFf,EqwITc,FSc7tf,GILUZe,H4RQsd,HDvRde,HLo3Ef,Hjkoe,I6YDgd,IRBuIc,IZT63,J1LtWd,JNoxi,JntzAe,Jod3tf,K99qY,KG2eXe,L1AAkb,LRWJIf,LyVWtd,MI6k7c,Md9Mid,MdUzUe,Mq9n0c,NFPeb,NG09oe,NpD4ec,O6y8ed,OmccEb,OmgaI,PQaYAf,PrPYRd,QIhFr,QWGJif,RMhBfe,Ru0Pgb,SF3gsd,SdcwHb,SpsfSb,SyyvMc,U0aPgd,U4Hp0d,Uas9Hd,UgAtXe,Ui93ue,V3dDOb,VUGBf,VXdfxd,VeslVb,Vf5Xdc,VwDzFe,W7sjz,WO9ee,Whpzpe,XAzchc,XGmYob,XVMNvd,XkYard,XksG7d,Y2UGcc,Y7rocc,YV1Fke,ZfAoz,ZwDk9d,ZxDaqc,ZyTDo,_b,_tp,a6pq1,aW3pY,aurFic,blwjVc,cQe25d,d0DtYd,dodICd,duFQFc,e5qFLc,ewrQ6c,fFdwef,fKUV3e,fgj8Rb,gM92cd,gZiy5e,gkizLe,hECoeb,hKSk3e,hN7ZKe,hQdwFb,hT8rr,hc6Ubd,iSvg6e,iTsyac,iWP1Yb,ibtLyd,ih2Nk,j3kq0e,jPgO3b,jZ86ec,jaOnYb,jxZhU,kjKdXe,lPKSwe,lazG7b,lwddkf,mI3LFb,mdR7q,mhFxVb,nGXkff,nM1pne,o02Jie,o8u3Cf,oi967b,oovi3d,p8L0ob,pB6Zqd,pNpd4d,pjICDe,pw70Gc,qAKInc,rE6Mgd,rHjpXd,ryNBp,s39S4,sCgD8d,sefrXc,svoF2b,tfTN8c,tzPRZb,vUma6,w9hDv,wmwg8b,ws9Tlc,x60fie,xQtZb,xiqEse,yDVVkb,zbML3c/excm=_b,_tp,topstories/ed=1/wt=2/ct=zgms/rs=ALs0n2N0peP4R41amaLxmPOwBD0bfXfn1w/m=OJUrvb,_latency,FCpbqb,WhJNk" nonce=""></script><script src="https://apis.google.com/_/scs/abc-static/_/js/k=gapi.gapi.en.ZR5MgddWeJU.O/m=gapi_iframes,googleapis_client,plusone/rt=j/sv=1/d=1/ed=1/am=AAY/rs=AHpOoo-4Z3ZFsIV5SfJ3ya7-4n9QA-0-og/cb=gapi.loaded_0" nonce="" async=""></script><script async="" src="https://www.google-analytics.com/analytics.js" nonce=""></script><base href="https://news.google.com/"><meta name="referrer" content="origin"><link rel="canonical" href="https://news.google.com/topstories"><meta name="viewport" content="width=device-width,initial-scale=1,minimal-ui"><meta name="google-site-verification" content="AcBy5YFny2HQgVUCR18tO5YUTf6MpVlcJqGTd-a9-SI"><meta name="mobile-web-app-capable" content="yes"><meta name="apple-mobile-web-app-capable" content="yes"><meta name="application-name" content="ニュース"><meta name="apple-mobile-web-app-title" content="ニュース"><meta name="apple-mobile-web-app-status-bar-style" content="black"><meta name="theme-color" content="white"><meta name="msapplication-tap-highlight" content="no"><link rel="shortcut icon" href="https://lh3.googleusercontent.com/-DR60l-K8vnyi99NZovm9HlXyZwQ85GMDxiwJWzoasZYCUrPuUM_P_4Rb7ei03j-0nRs0c4F=w16" sizes="16x16"><link rel="shortcut icon" href="https://lh3.googleusercontent.com/-DR60l-K8vnyi99NZovm9HlXyZwQ85GMDxiwJWzoasZYCUrPuUM_P_4Rb7ei03j-0nRs0c4F=w24" sizes="24x24"><link rel="shortcut icon" href="https://lh3.googleusercontent.com/-DR60l-K8vnyi99NZovm9HlXyZwQ85GMDxiwJWzoasZYCUrPuUM_P_4Rb7ei03j-0nRs0c4F=w32" sizes="32x32"><link rel="shortcut icon" href="https://lh3.googleusercontent.com/-DR60l-K8vnyi99NZovm9HlXyZwQ85GMDxiwJWzoasZYCUrPuUM_P_4Rb7ei03j-0nRs0c4F=w48" sizes="48x48"><link rel="preconnect" href="//www.gstatic.com"><link rel="preconnect" href="//fonts.gstatic.com"><link rel="preconnect" href="//lh3.googleusercontent.com"><link rel="preconnect" href="//lh4.googleusercontent.com"><link rel="preconnect" href="//lh5.googleusercontent.com"><link rel="preconnect" href="//lh6.googleusercontent.com"><link rel="preconnect" href="//ssl.gstatic.com"><link rel="preconnect" href="//maps.googleapis.com"><link rel="preconnect" href="https://www.google-analytics.com/analytics.js"><link rel="manifest" crossorigin="use-credentials" href="_/DotsSplashUi/manifest.json"><link rel="home" href="/?lfhs=2"><link rel="msapplication-starturl" href="/?lfhs=2"><link rel="icon" href="//ssl.gstatic.com/gnews/logo/google_news_192.png" sizes="192x192"><link rel="apple-touch-icon-precomposed" href="//ssl.gstatic.com/gnews/logo/google_news_192.png" sizes="192x192"><link rel="msapplication-square192x192logo" href="//ssl.gstatic.com/gnews/logo/google_news_192.png" sizes="192x192"><link rel="icon" href="//ssl.gstatic.com/gnews/logo/google_news_512.png" sizes="512x512"><link rel="apple-touch-icon-precomposed" href="//ssl.gstatic.com/gnews/logo/google_news_512.png" sizes="512x512"><link rel="msapplication-square512x512logo" href="//ssl.gstatic.com/gnews/logo/google_news_512.png" sizes="512x512"><link rel="icon" href="//ssl.gstatic.com/gnews/logo/google_news_1024.png" sizes="1024x1024"><link rel="apple-touch-icon-precomposed" href="//ssl.gstatic.com/gnews/logo/google_news_1024.png" sizes="1024x1024"><link rel="msapplication-square1024x1024logo" href="//ssl.gstatic.com/gnews/logo/google_news_1024.png" sizes="1024x1024"><link rel="icon" href="//ssl.gstatic.com/gnews/logo/google_news_120.png" sizes="120x120"><link rel="apple-touch-icon-precomposed" href="//ssl.gstatic.com/gnews/logo/google_news_120.png" sizes="120x120"><link rel="msapplication-square120x120logo" href="//ssl.gstatic.com/gnews/logo/google_news_120.png" sizes="120x120"><link rel="icon" href="//ssl.gstatic.com/gnews/logo/google_news_152.png" sizes="152x152"><link rel="apple-touch-icon-precomposed" href="//ssl.gstatic.com/gnews/logo/google_news_152.png" sizes="152x152"><link rel="msapplication-square152x152logo" href="//ssl.gstatic.com/gnews/logo/google_news_152.png" sizes="152x152"><link rel="icon" href="//ssl.gstatic.com/gnews/logo/google_news_167.png" sizes="167x167"><link rel="apple-touch-icon-precomposed" href="//ssl.gstatic.com/gnews/logo/google_news_167.png" sizes="167x167"><link rel="msapplication-square167x167logo" href="//ssl.gstatic.com/gnews/logo/google_news_167.png" sizes="167x167"><link rel="icon" href="//ssl.gstatic.com/gnews/logo/google_news_180.png" sizes="180x180"><link rel="apple-touch-icon-precomposed" href="//ssl.gstatic.com/gnews/logo/google_news_180.png" sizes="180x180"><link rel="msapplication-square180x180logo" href="//ssl.gstatic.com/gnews/logo/google_news_180.png" sizes="180x180"><link rel="icon" href="//ssl.gstatic.com/gnews/logo/google_news_80.png" sizes="80x80"><link rel="apple-touch-icon-precomposed" href="//ssl.gstatic.com/gnews/logo/google_news_80.png" sizes="80x80"><link rel="msapplication-square80x80logo" href="//ssl.gstatic.com/gnews/logo/google_news_80.png" sizes="80x80"><link rel="icon" href="//ssl.gstatic.com/gnews/logo/google_news_87.png" sizes="87x87"><link rel="apple-touch-icon-precomposed" href="//ssl.gstatic.com/gnews/logo/google_news_87.png" sizes="87x87"><link rel="msapplication-square87x87logo" href="//ssl.gstatic.com/gnews/logo/google_news_87.png" sizes="87x87"><link rel="icon" href="//ssl.gstatic.com/gnews/logo/google_news_58.png" sizes="58x58"><link rel="apple-touch-icon-precomposed" href="//ssl.gstatic.com/gnews/logo/google_news_58.png" sizes="58x58"><link rel="msapplication-square58x58logo" href="//ssl.gstatic.com/gnews/logo/google_news_58.png" sizes="58x58"><link rel="icon" href="//ssl.gstatic.com/gnews/logo/google_news_60.png" sizes="60x60"><link rel="apple-touch-icon-precomposed" href="//ssl.gstatic.com/gnews/logo/google_news_60.png" sizes="60x60"><link rel="msapplication-square60x60logo" href="//ssl.gstatic.com/gnews/logo/google_news_60.png" sizes="60x60"><link rel="icon" href="//ssl.gstatic.com/gnews/logo/google_news_40.png" sizes="40x40"><link rel="apple-touch-icon-precomposed" href="//ssl.gstatic.com/gnews/logo/google_news_40.png" sizes="40x40"><link rel="msapplication-square40x40logo" href="//ssl.gstatic.com/gnews/logo/google_news_40.png" sizes="40x40"><link rel="apple-touch-startup-image" href="//ssl.gstatic.com/gnews/logo/google_news_192.png" sizes="192x192"><link rel="apple-touch-startup-image" href="//ssl.gstatic.com/gnews/logo/google_news_512.png" sizes="512x512"><link rel="apple-touch-startup-image" href="//ssl.gstatic.com/gnews/logo/google_news_1024.png" sizes="1024x1024"><link rel="apple-touch-startup-image" href="//ssl.gstatic.com/gnews/logo/google_news_120.png" sizes="120x120"><link rel="apple-touch-startup-image" href="//ssl.gstatic.com/gnews/logo/google_news_152.png" sizes="152x152"><link rel="apple-touch-startup-image" href="//ssl.gstatic.com/gnews/logo/google_news_167.png" sizes="167x167"><link rel="apple-touch-startup-image" href="//ssl.gstatic.com/gnews/logo/google_news_180.png" sizes="180x180"><link rel="apple-touch-startup-image" href="//ssl.gstatic.com/gnews/logo/google_news_80.png" sizes="80x80"><link rel="apple-touch-startup-image" href="//ssl.gstatic.com/gnews/logo/google_news_87.png" sizes="87x87"><link rel="apple-touch-startup-image" href="//ssl.gstatic.com/gnews/logo/google_news_58.png" sizes="58x58"><link rel="apple-touch-startup-image" href="//ssl.gstatic.com/gnews/logo/google_news_60.png" sizes="60x60"><link rel="apple-touch-startup-image" href="//ssl.gstatic.com/gnews/logo/google_news_40.png" sizes="40x40"><script data-id="_gd" nonce="">window.WIZ_global_data = {"DpimGf":false,"EP1ykd":["/_/*","/accounts/*","/subscribewithgoogleclientui/*","/swg/*","/swglib/*"],"FdrFJe":"-6325586334197176869","Fwhl2e":"%.@.[\"ja\",\"JP\",[\"SPORTS_FULL_COVERAGE\",\"WEB_TEST_1_0_0\"]\n,null,null,1,1,\"JP:ja\",null,null,null,\"CAESCwj70ZP5BRD44qgN\"]\n,\"ja\",\"JP\",true,[4,19,2]\n,1,true,\"323455907\",false,false]\n","GASP4":1333,"Im6cmf":"/_/DotsSplashUi","LVIXXb":1,"LoQv7e":false,"MT7f9b":[],"QrtxK":"","S06Grb":"","XHtNL":"%.@.\"waares\"]\n","Yllh3e":"%.@.1596254459196089,174617871,2500831250]\n","cfb2h":"boq_dotssplashserver_20200724.12_p3","eNnkwf":"1596254459","eptZe":"/_/DotsSplashUi/","fPDxwd":[1763433,1772879,1796443],"gGcLoe":false,"hbSvMb":[1710329,1787457,1773158,1706538,1772879,45664162,1787118,1753726,45672936,1714247,1796443,45677050,1763433,45667181],"nQyAE":{"wkakMe":"300","AUkF5c":"UA-115545151-2","knQkrc":"false","pfipFd":"false","H0t3uc":"false","IrjXhf":"10000","nkCRue":"true","qT8sFb":"CAAqIggKIhxDQkFTRHdvSkwyMHZNREZqY0hsNUVnSmxiaWdBUAE,CAAqIggKIhxDQkFTRHdvSkwyMHZNREZqY0hsNUVnSmtaU2dBUAE,CAAqIggKIhxDQkFTRHdvSkwyMHZNREZqY0hsNUVnSnBkQ2dBUAE,CAAqIggKIhxDQkFTRHdvSkwyMHZNREZqY0hsNUVn
20200713

2020/08/01 11:21

お返事いただきありがとうございます! とても長いテキストが出力されたのですが、一旦そのまま貼らせていただきました。
guest

回答1

0

ベストアンサー

接続自体は問題なくできているようですね。

こんな感じでどうでしょうか。

python

1from time import sleep 2 3driver.get("https://news.google.com/") 4 5sleep(30) 6 7# 最下部までスクロールして全てのDOMを出現させる 8current_source = '' 9while current_source != driver.page_source: 10 current_source = driver.page_source 11 driver.execute_script('scrollTo(100, document.body.scrollHeight)') 12 sleep(10) 13 14 15element = driver.find_element_by_link_text("日本のニュースをもっと見る")

それともう一つ大事なことですが、
googleはスクレイピングを禁止していますので、
何があっても自己責任です。

投稿2020/08/01 11:49

shirai

総合スコア1290

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

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

20200713

2020/08/01 14:49

お返事いただきありがとうございます! お送りいただいたコードでelement無事取得できたようでした。 (print(element.is_displayed()))と加えたところTrueと表示されました。 しかし element.click()と足すとやはりエラーが出て実行できませんでした… googleのスクレイピング禁止とのことなので(勉強不足でした…) 他のサイトでもう一度試みようと思います…!
guest

あなたの回答

tips

太字

斜体

打ち消し線

見出し

引用テキストの挿入

コードの挿入

リンクの挿入

リストの挿入

番号リストの挿入

表の挿入

水平線の挿入

プレビュー

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

ただいまの回答率
85.35%

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

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

質問する

関連した質問