seleniumを用いて、リンクをクリックするプログラムを作成しています。
しかし、リンクテキストを要素として取るとエラーが出てしまい、詰まっています。
いろいろ調べてみたのですが、エラー内容の意味がわからず、何を直していいかわからない状態です。
ご助言をお願いいたします。
また、前の行に<a>タグを使っているものがあるため、コードをtag_name('a')にして動かすと前の行のリンクが開かれてしまいます。
下記のHTMLを開くにはどのようなコードを用いれば良いでしょうか?
python
1from selenium import webdriver 2from selenium.webdriver.common.by import By 3from selenium.webdriver.support.ui import WebDriverWait 4import time 5#chrome起動 6driver = webdriver.Chrome('C:/chromedriver.exe') 7driver.get("hogehoge") 8 9#id取得 10elem_search_word = driver.find_element_by_id("txtName") 11#検索フォームに'hoge'入力 12elem_search_word.send_keys("hoge") 13 14elem_search_btn = driver.find_element_by_name('btnA') 15#検索ボタンをクリック 16elem_search_btn.click() 17#ここまでは正常に動作します 18#リンクテキストを取得 19elem_serch_btn1 = driver.find_element_by_link_text(u"hoge") 20elem_serch_btn1.click() 21
以下が取得したいhtmlのコードです。
html
1<a href="リンク先" target="_blank">hoge</a>
以下がエラー内容です。file名のみ編集致しました。
Traceback (most recent call last): elem_serch_btn1 = driver.find_element_by_link_text(u"hoge") File in find_element_by_link_text return self.find_element(by=By.LINK_TEXT, value=link_text) File in find_element 'value': value})['value'] File in execute self.error_handler.check_response(response) File in check_response raise exception_class(message, screen, stacktrace) selenium.common.exceptions.NoSuchElementException: Message: no such element: Unable to locate element: {"method":"link text","selector":"hoge"} (Session info: chrome=67.0.3396.99) (Driver info: chromedriver=2.40.565498 (ea082db3280dd6843ebfb08a625e3eb905c4f5ab),platform=Windows NT 10.0.17134 x86_64)