質問をすることでしか得られない、回答やアドバイスがある。

15分調べてもわからないことは、質問しよう!

新規登録して質問してみよう
ただいま回答率
85.53%
スクレイピング

スクレイピングとは、公開されているWebサイトからページ内の情報を抽出する技術です。

Anaconda

Anacondaは、Python本体とPythonで利用されるライブラリを一括でインストールできるパッケージです。環境構築が容易になるため、Python開発者間ではよく利用されており、商用目的としても利用できます。

Python

Pythonは、コードの読みやすさが特徴的なプログラミング言語の1つです。 強い型付け、動的型付けに対応しており、後方互換性がないバージョン2系とバージョン3系が使用されています。 商用製品の開発にも無料で使用でき、OSだけでなく仮想環境にも対応。Unicodeによる文字列操作をサポートしているため、日本語処理も標準で可能です。

selenium

Selenium(セレニウム)は、ブラウザをプログラムで作動させるフレームワークです。この原理を使うことにより、ブラウザのユーザーテストなどを自動化にすることができます。

Q&A

1回答

9905閲覧

seleniumでa href要素マウスクリック問題

Pandas_Panda

総合スコア2

スクレイピング

スクレイピングとは、公開されているWebサイトからページ内の情報を抽出する技術です。

Anaconda

Anacondaは、Python本体とPythonで利用されるライブラリを一括でインストールできるパッケージです。環境構築が容易になるため、Python開発者間ではよく利用されており、商用目的としても利用できます。

Python

Pythonは、コードの読みやすさが特徴的なプログラミング言語の1つです。 強い型付け、動的型付けに対応しており、後方互換性がないバージョン2系とバージョン3系が使用されています。 商用製品の開発にも無料で使用でき、OSだけでなく仮想環境にも対応。Unicodeによる文字列操作をサポートしているため、日本語処理も標準で可能です。

selenium

Selenium(セレニウム)は、ブラウザをプログラムで作動させるフレームワークです。この原理を使うことにより、ブラウザのユーザーテストなどを自動化にすることができます。

0グッド

0クリップ

投稿2021/11/04 08:54

PG初心者です。

あるウェブサイトのタブを
seleniumで<a href="javascript:void(0);" style="background-color:#38FFCC;color:#000000;">☆マニュアル</a>
という要素をマウスクリックしたいのですが、色々調べて試して上手くいかず、困っています、どうかお助けください。

エラーメッセージ:
InvalidArgumentException Traceback (most recent call last)
<ipython-input-1-6b8b2199ba99> in <module>
18 raku_login_btn.click()
19 sleep(5)
---> 20 manaul_send_cash = browser.find_element("☆マニュアル")
21 manaul_send_cash.click()
22

D:\Anaconda\lib\site-packages\selenium\webdriver\remote\webdriver.py in find_element(self, by, value)
1236 value = '[name="%s"]' % value
1237
-> 1238 return self.execute(Command.FIND_ELEMENT, {
1239 'using': by,
1240 'value': value})['value']

D:\Anaconda\lib\site-packages\selenium\webdriver\remote\webdriver.py in execute(self, driver_command, params)
416 response = self.command_executor.execute(driver_command, params)
417 if response:
--> 418 self.error_handler.check_response(response)
419 response['value'] = self._unwrap_value(
420 response.get('value', None))

D:\Anaconda\lib\site-packages\selenium\webdriver\remote\errorhandler.py in check_response(self, response)
241 alert_text = value['alert'].get('text')
242 raise exception_class(message, screen, stacktrace, alert_text) # type: ignore[call-arg] # mypy is not smart enough here
--> 243 raise exception_class(message, screen, stacktrace)
244
245 def _value_or_default(self, obj: Mapping[_KT, _VT], key: _KT, default: _VT) -> _VT:

InvalidArgumentException: Message: invalid argument: invalid locator
(Session info: chrome=95.0.4638.69)
Stacktrace:
Backtrace:
Ordinal0 [0x011F06F3+2492147]
Ordinal0 [0x01189BD1+2071505]
Ordinal0 [0x01092478+1057912]
Ordinal0 [0x010BCAF6+1231606]
Ordinal0 [0x010E6B62+1403746]
Ordinal0 [0x010D57FA+1333242]
Ordinal0 [0x010E4F38+1396536]
Ordinal0 [0x010D568B+1332875]
Ordinal0 [0x010B21D4+1188308]
Ordinal0 [0x010B302F+1191983]
GetHandleVerifier [0x013767A6+1545030]
GetHandleVerifier [0x0142105C+2243580]
GetHandleVerifier [0x0127BC97+518199]
GetHandleVerifier [0x0127AD80+514336]
Ordinal0 [0x0118ED2D+2092333]
Ordinal0 [0x01192EE8+2109160]
Ordinal0 [0x01193022+2109474]
Ordinal0 [0x0119CB71+2149233]
BaseThreadInitThunk [0x76CDFA29+25]
RtlGetAppContainerNamedObjectPath [0x77437A9E+286]
RtlGetAppContainerNamedObjectPath [0x77437A6E+238]

ソースコード:
from selenium import webdriver
from selenium.webdriver.common.by import By
from selenium.webdriver.support.ui import WebDriverWait as W
from selenium.webdriver.support import expected_conditions as E
from selenium.webdriver.common.action_chains import ActionChains
from time import sleep
(ウェブサイトのログインまで成功していますので省略します)
manaul_send_number = browser.find_element("☆マニュアル")
manaul_send_number.click()

もしご存じの方がいらっしゃればご教授いただければ幸甚です。
よろしくお願いいたします。

気になる質問をクリップする

クリップした質問は、後からいつでもMYページで確認できます。

またクリップした質問に回答があった際、通知やメールを受け取ることができます。

バッドをするには、ログインかつ

こちらの条件を満たす必要があります。

guest

回答1

0

selenium.webdriver.common.byを使用して.find_element()メソッドを使用する場合には
以下の様に属性を指定してあげるか
または.find_element_by_link_text()メソッドを使用しましょう。

python

1変数名 = browser.find_element(By.PARTIAL_LINK_TEXT, '☆マニュアル') 2変数名 = browser.find_element_by_link_text('☆マニュアル')

参考: https://kurozumi.github.io/selenium-python/locating-elements.html

投稿2021/11/04 18:04

nto

総合スコア1438

バッドをするには、ログインかつ

こちらの条件を満たす必要があります。

あなたの回答

tips

太字

斜体

打ち消し線

見出し

引用テキストの挿入

コードの挿入

リンクの挿入

リストの挿入

番号リストの挿入

表の挿入

水平線の挿入

プレビュー

まだベストアンサーが選ばれていません

会員登録して回答してみよう

アカウントをお持ちの方は

15分調べてもわからないことは
teratailで質問しよう!

ただいまの回答率
85.53%

質問をまとめることで
思考を整理して素早く解決

テンプレート機能で
簡単に質問をまとめる

質問する

関連した質問