私はSeleniumに慣れようとしていますが、要素を見つける際に問題が発生しています。実際、これに多く気づいています。
yahoo.comにアクセスし、Sportsをクリックして、ページタイトルが正しいことを表明します。以下は、「要素を見つけることができません」というエラーメッセージをスローします。 ID、xPathなどを試しました。他のページ要素、メール、ニュースなども試しました...すべて同じエラーがスローされました。ここに何かが足りませんか?
import unittest
import selenium
from selenium import webdriver
from selenium.webdriver.common.keys import Keys
# go to Yahoo home page, click on Sports and assert title is correct
class searchMaps(unittest.TestCase):
# def setup as class method
@classmethod
def setUpClass(inst):
inst.driver = webdriver.Chrome()
inst.driver.maximize_window()
inst.driver.get("http://www.yahoo.com")
inst.driver.implicitly_wait(20)
def test_click_sports_page(self):
self.search_field = self.driver.find_element_by_id('yui_3_18_0_3_1527260025921_1028')
self.search_field.click()
actual_title = driver.getTitle()
expected_title = 'Yahoo Sports | Sports News'
assertEquals(actual_title, expected_title)
@classmethod
def tearDownClass(inst):
inst.driver.quit()
if __name__ == '__main__':
unittest.main()
回答 1 件
関連記事
- Selenium WebDriverWaitがPythonクラスで正しく機能しないのはなぜですか?
- Pythonでリスト要素を分割する方法
- Pythonでセレンを使ってYouTubeのコメントを削る方法は?
- Pythonリストでランダムなインデックスを何度も見つける最も速い方法は何ですか?
- Pythonは、他のリストの部分文字列を含むリストから要素を削除します
- セレンPythonでリストループを機能させる方法は?
- セレン:Python:内部HTMLで要素を検索
- Pythonが「キー」を見つける
- Pythonで1より大きいリストの要素を削除する必要があります
- Python/Selenium:2番目のdriverget()を呼び出した後、サインインしたままにするにはどうすればよいですか?
関連した質問
- WebDriverWaitの後でもFirefoxWebElementget_attributeのStaleElementReferenceException
- キーワード()機能でキーワードを取得してグーグル画像を検索したい。どうすれば修正できますか
- セレンを使用してテーブルをこするのに苦労している
- SeleniumPythonを使用してhtmlh3タグ内のデータをWebスクレイピングする
- セレンを使用しているページの「heading」という名前の各クラスからデータを取得できません
- PythonSeleniumはすべての画像タグを選択するわけではありません
- Seleniumを使用するPythonで同じクラス名を持つ複数のユーザー名を見つけるにはどうすればよいですか?
- PythonSeleniumを使用してYouTubeビデオを開きます
- YouTubeビデオを再生するにはどうすればよいですか[selenium]
- PythonでSeleniumを使用してYouTubeタグを取得するにはどうすればよいですか?
ザ・
@id
リンクの対象は動的であるため、ページを開くたびに異なります。リンクテキストを使用して要素を見つけてみてください。