前提・実現したいこと
pythonでseleniumを使用し、リンクを指定し、クリックする。
今回はchromeを使用するのでchrome driverをダウンロードしています。
発生している問題
seleniumで取得できる、id,class, nameなどの要素がhtml内になく、リンクをどう指定していいかわからず、はまってしまっています。
例としてなのですが、下記のようなコードを読む場合、pythonでのコードは何を指定したら良いでしょうか?
<a href="" target="_blank">PDF
回答を参考にし、xpathでの取得を試みましたが正常な動作は確認できませんでした。
一部なのですがプログラムを動かした際にこのような物が出てきます。
python
1from selenium import webdriver 2from selenium.webdriver.common.by import By 3 4driver = webdriver.Chrome('C:/chromedriver.exe') 5driver.get("URL") 6 7 8elem_search_word = driver.find_element_by_id("txtName") 9elem_search_word.send_keys("検索ワード") 10elem_search_btn = driver.find_element_by_name('btnA') 11elem_search_btn.click() 12 13elem_search_btn = driver.find_element(By.XPATH,'取得したXPATH') 14elem_search_btn.click() 15
raise exception_class(message, screen, stacktrace) selenium.common.exceptions.NoSuchElementException: Message: no such element: Unable to locate element: {"method":"xpath","selector":"//*[@id="ResultList"]/tbody/tr[2]/td[4]/div/a"} (Session info: chrome=67.0.3396.99) (Driver info: chromedriver=2.40.565498 (ea082db3280dd6843ebfb08a625e3eb905c4f5ab),platform=Windows NT 10.0.17134 x86_64)