現在、フォームに自動的に入力するプロジェクトに取り組んでいます。フォームに入力すると、次のボタンが表示されるため、エラーが発生します。
私が試してみました:
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)
同じ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がうまくいくと確信しています