web-dev-qa-db-ja.com

selenium.common.exceptions.ElementClickInterceptedException:Message:element click intercepted:Element is not clickable with Selenium and Python

現在、フォームに自動的に入力するプロジェクトに取り組んでいます。フォームに入力すると、次のボタンが表示されるため、エラーが発生します。

私が試してみました:

WebDriverWait(driver, 10).until(EC.element_to_be_clickable((By.XPATH,"//input[@type='button' and @class='button']")))
Next = driver.find_element_by_xpath("//input[@type='button' and @class='button']")
Next.click()

HTML:

<span class="btn">
    <input type="button" value="Next" class="button" payoneer="Button" data-controltovalidate="PersonalDetails" data-onfieldsvalidation="ToggleNextButton" data-onclick="UpdateServerWithCurrentSection();" id="PersonalDetailsButton">
     </input>
     <div class="clearfix"></div>
</span>

エラー:

Selenium.common.exceptions.ElementClickInterceptedException:Message:element click intercepted:Element is not clickable at point(203、530)。他の要素はクリックを受け取ります:...(セッション情報:chrome = 76.0.3809.132)

2
VRX

同じxpathを持つ他の要素がいくつかあるようですが、xpathを次のように変更してみてください

Next = driver.find_element_by_xpath("//input[@id='PersonalDetailsButton']");
Next.Click();

または

Next = driver.find_element_by_xpath(//input[@value='Next' and @id='PersonalDetailsButton']);
Next.Click();

それがうまくいかない場合は、最初のxpathを試し、2番目のxpathを試してください。それでも解決しない場合は、sikuliを使用してみてください。私は最初のxpathがうまくいくと確信しています

0