PythonでSeleniumを使用しています。属性['href']の値を取得して、 '#'と異なることを確認します(はいの場合)
ループ外でない場合は、リンクをクリックしてください。
if not driver.find_element_by_link_text('»'):
break
# Open next page
if driver.find_element_by_xpath("//a[.='»' and not(@href='#')]"):
link=WebDriverWait(driver, 20).until(expected_conditions.element_to_be_clickable((By.LINK_TEXT, "»")))
link.click()
else:
break
Webページのソースコードは次のとおりです。
<ul class="pagination">
<li class="disabled"><a href="#">«</a></li>
<li class="active"><a class="" rel="nofollow" href="https://www.likibu.com/fr/search/39tuzgbpnycdv7tkj102g?guests=2&destination_id=4094&page=1">1</a></li>
<li><a class="" rel="nofollow" href="https://www.likibu.com/fr/search/39tuzgbpnycdv7tkj102g?guests=2&destination_id=4094&page=37">37</a></li>
<li><a class="" rel="nofollow" href="https://www.likibu.com/fr/search/39tuzgbpnycdv7tkj102g?guests=2&destination_id=4094&page=2">»</a></li>
私のコードは機能せず、次のエラーが表示されます。
raise exception_class(message, screen, stacktrace) selenium.common.exceptions.NoSuchElementException
任意の助けをいただければ幸いです。
回答 2 件
テキスト付きのリンクをクリックするには» 属性の値を取得する必要はありませんhref、むしろ単に囲むコードのブロック
click()
へtry-catch
の要素 次のようにブロックします。while True: try : WebDriverWait(driver, 10).until(EC.element_to_be_clickable((By.XPATH, "//ul[@class='pagination']//li/a[@rel='nofollow' and contains(.,'»')]"))).click() # do your tasks on this particular page except : print("No more pages left") break driver.quit()
関連記事
- Python Webscraping:入力タグからvalue属性の文字列を取得するにはどうすればよいですか?
- Python AttributeError:モジュール 'requests'には属性 'get_price'がありません
- 特定のボタンをクリックします(Selenium Python)
- Pythonパンダは、列を特定の外部セットと比較する値を持つ列を追加します
- SeleniumPythonを使用してhtmlh3タグ内のデータをWebスクレイピングする
- 対応する辞書値に対してPython辞書キーをプロットするにはどうすればよいですか?
- 1象限Pythonの特定の値
- Python、キー値を照合することによる辞書のSUMリスト
- Pythonで別のjson内のjson値を取得するにはどうすればよいですか?
- 例外:属性が値なしで指定されています:url
関連した質問
- Seleniumを使用して1つのリンクをクリックしてから、メインページに戻り、他のリンクをクリックします
- PythonでSeleniumを使用してWebサイトの[続行]ボタンをクリックするにはどうすればよいですか?
- PHPスクリプトからPythonでWebdriverを呼び出すと、Firefoxが開きません
- WebDriverWaitの後でもFirefoxWebElementget_attributeのStaleElementReferenceException
- SeleniumとJavaを使用してliアイテムをクリックするにはどうすればよいですか?
- Python Seleniumを使用するcsvWriterは、0からjまで反復していません。最後のヒットのみを取得し、各ヒットは取得しません
- Python:Selenium Paginationは、ページ1のみをリストに保存し、ページ2、3などは保存しません。
- Seleniumを使用してInstagramから投稿URLを取得するには、スクロールダウンするたびに動的に変更されますか?
- 有効なXpathですが、空のdivが返されました:アマゾンスクレイピング
- TypeError: 'FirefoxWebElement'オブジェクトは、Seleniumを使用して動的Webページ上のページを循環する反復可能なエラーではありません
これを試してもいい