2016-03-21 16 views
1

最近、セレンを最新バージョン(2.53)にアップグレードし、Firefoxを最新バージョン(45.0.1)にアップグレードしました。selenium exception:要素がポイントでクリックできない

私は同じウェブサイト上で同じコードを実行しますが、私は突然、このような多くの例外があります。

WebDriverException:メッセージ:Elementはポイント(312、 8.816665649414062)でクリック可能ではありませんが。例えば

::他の要素は、クリックを受け取ることになる

driver.find_element_by_class_name('my_class_name').click() 

は新しい何かが、私が知っておくべきことはありますか?それは作品

driver.execute_script("arguments[0].click();", element) 

、かつ確実要素をクリック: 私の以前のPythonのセレンのバージョンが合理的に古いだった、と私はFirefoxの38

+0

を調整します(クリックしようとしているので、あなたはここにあるコードは動作しません使用してクリックする3-お試しくださいfind_elements_by_class_name()でdを返します。この例外を具体的に取得するコードをいくつか表示できますか? –

+0

私が考えることができるのは、セレンの古いバージョンがターゲット上に何か他のものが表示されていることを正しく認識していなかったか、アプリの動作が変更されたためです。 –

+0

これを修正しました。これは私が持っていたコードです。実際にボタンをクリックするためにJavaScriptを実行することで問題を解決しました。それはより信頼できます。 – DevShark

答えて

1

にあったここで私が見つけた解決策です。要素を解決するために私のために働いた

0

ソリューションがクリックできない点(x、y)が例外

1-更新クロームドライバ最新の2.15

2 - ゲットのリンクをクリックした座標へまたはボタン

returneたアレイ上)Yがうまく

# Find an element 
WebElement elementToClick = driver.findElement(By.xpath("Your xpath")); 

# Scroll the browser to the elements Y position 
((JavascriptExecutor)driver).executeScript("window.scrollTo(0," + elementToClick.getLocation().y + ")"); 

# Click the element 
elementToClick.click();