前提・実現したいこと
大学の未提出課題を一覧にするコードを書きたいです。
発生している問題・エラーメッセージ
```html <a href="course_563036" title="経済データ分析a" style="width:215px;" >経済データ分析a</a>
この要素を取得してクリックを行い、課題が載っているページに行きたいのですができません。
直接課題が載っているページに行こうとしてもログインが求められ、最初のページに戻るのでそれもできません。
no such element:
Unable to locate element: {"method":"link text","selector":"経済データ分析a"}
と表示されます。
(触っていたらno such elementは表示されなくなりましたが依然としてクリックはできていません。)
economicdata = driver.find_element_by_link_text("経済データ分析a") economicdata.click
試したこと
find_element_by_class_nameでそれらしきclassの名前を入れてみたができなかった。
xpathを使ってやろうとしたができなかった。(Chromeのxpath copyからコピーして貼り付けたので間違っていないと思います。)
補足情報(FW/ツールのバージョンなど)
python
1import sys 2import time 3from selenium import webdriver 4import os 5os.chdir("c:/Users/xx/OneDrive/デスクトップ/python/") 6import requests 7from bs4 import BeautifulSoup 8def AutoLogin(): 9 10 driver = webdriver.Chrome('C:\Program Files\Google\Chrome\Application\chromedriver_win32\chromedriver.exe') 11 12 url1 = "https://portal.xxx.ac.jp/" 13 14 driver.get(url1) 15 16 login_id = driver.find_element_by_name("j_username") 17 login_pw = driver.find_element_by_name("j_password") 18 19 userid = "xxxxxx" 20 userpw = "xxxxxx" 21 login_id.send_keys(userid) 22 login_pw.send_keys(userpw) 23 24 login_btn = driver.find_element_by_name("login") 25 login_btn.click() 26 27 manaba_btn = driver.find_element_by_class_name("external_manaba_link") 28 manaba_btn.click() 29 30 handle_array = driver.window_handles 31 driver.switch_to.window(handle_array[1]) 32 33 economicdata = driver.find_element_by_link_text("経済データ分析a") 34 economicdata.click
パスワードを入力してログインボタンを押すことや、manabaのボタンを押すことはできました。
そこから先ができていません。manabaは新規タブで開きます。それが影響しているのでしょうか?
あなたの回答
tips
プレビュー