繁体   English   中英

无法点击这个按钮 selenium webdriver python

[英]Can't click on this button selenium webdriver python

我试图从几个小时开始点击这个按钮,没办法做到。 我试图以各种方式找到它 XPATH 除外。按钮在 iframe“iframeGioco”内,我也切换到它,但仍然没有。

请帮帮我。

这是html源代码:

在此处输入图片说明

我需要单击突出显示的 div,即按钮或在下一个 div 中包含“确定”。

我用 selenium 做了很多脚本,但是这个按钮真的很难点击。 我会链接页面,但我不能,因为你应该有一个 eurobet 账户才能看到这个页面。

谢谢你。

我的尝试示例:

browser.switch_to_frame(browser.find_element(By.XPATH,'//iframe[@id="iframeGioco"]'))

browser.find_element(By.XPATH,"//div[@class='rounded-corners no-highlight ftl-error-buttonise absolute-horz-center']").click()

注意:奇怪的是,我没有收到像“NOSUCHELEMENT”这样的错误,我什么也没得到,所以我认为找到了该元素,但由于某种原因点击不起作用。

需要点击“确定”按钮

要单击的按钮是 IMG 中的“确定”按钮。

单击iframe内的OK div 元素

引入WebDriverWait () 和frame_to_be_available_and_switch_to_it ()

Induce WebDriverWait () 和element_to_be_clickable () 以及跟随Xpath

WebDriverWait(browser,20).until(EC.frame_to_be_available_and_switch_to_it((By.ID,"iframeGioco")))
WebDriverWait(browser,20).until(EC.element_to_be_clickable((By.XPATH,"//div[text()='OK']"))).click()

或者

WebDriverWait(browser,20).until(EC.frame_to_be_available_and_switch_to_it((By.ID,"iframeGioco")))
WebDriverWait(browser,20).until(EC.element_to_be_clickable((By.XPATH,"//div[contains(.,'OK')]"))).click()

您需要添加以下库。

from selenium.webdriver.support.ui import WebDriverWait
from selenium.webdriver.support import expected_conditions as EC
from selenium.webdriver.common.by import By

更新

诱导 Javascript 执行器点击。

WebDriverWait(browser,20).until(EC.frame_to_be_available_and_switch_to_it((By.ID,"iframeGioco")))
browser.execute_script("arguments[0].click();", WebDriverWait(browser,20).until(EC.presence_of_element_located((By.XPATH,"//div[contains(.,'OK')]"))))

您可以尝试使用 JS 单击,因为它的工作方式不同。

Webdriver 像我们/用户一样手动工作。 如果元素未启用,即使用户可以在页面上看到它,它也不会点击,而 JS 是客户端脚本,它直接与浏览器对话(借助内置解释器)

请尝试使用以下代码。

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

暂无
暂无

声明:本站的技术帖子网页,遵循CC BY-SA 4.0协议,如果您需要转载,请注明本站网址或者原文地址。任何问题请咨询:yoyou2525@163.com.

 
粤ICP备18138465号  © 2020-2024 STACKOOM.COM