元素(按钮)无法滚动到vi中

2024-04-26 13:42:18 发布

您现在位置:Python中文网/ 问答频道 /正文

所以我试着打开一个网站,然后导航到一个特定的页面,其中包含我必须从中删除数据的页面。我可以给出输入,但在到达最终提交按钮之前,我得到了错误“selenium.common.异常.ElementNotInteractiableException:消息:无法将元素滚动到视图中。有什么想法吗?在

我已经尝试过引入wait方法,但它仍然没有给出有用的结果,而是减慢了站点的速度。下面是代码。在

from selenium import webdriver
driver=webdriver.Firefox()

ok=driver.find_element_by_css_selector('#dropdownlistContentdrpState > input').send_keys('Chandigarh')
#time.sleep(5)
ok2=driver.find_element_by_css_selector('#dropdownlistContentdrpSchoolManagement > input').send_keys('Pvt. Unaided')
#driver.refresh()
time.sleep(10)
ok3=driver.find_element_by_css_selector('#btnSearch')
ok3.click()
time.sleep(4)

Tags: sendinputbytimedriverseleniumsleep页面
1条回答
网友
1楼 · 发布于 2024-04-26 13:42:18

错误"selenium.common.exceptions.ElementNotInteractableException: Message: Element could not be scrolled into view"表示程序试图与之交互的元素无法滚动到视图中。在

为了克服这个问题,您可以引入WebDriverWait并单击或首先使用element.location_once_scrolled_into_view,然后单击元素。在

或者可以使用Javascript's executor单击元素。在

from selenium.webdriver.support.ui import WebDriverWait
from selenium.webdriver.support import expected_conditions as EC
from selenium.webdriver.common.by import By
WebDriverWait(driver,30).until(EC.element_to_be_clickable((By.CSS_SELECTOR,"#btnSearch"))).click()

或者

^{pr2}$

或者

ok3=driver.find_element_by_css_selector('#btnSearch')
driver.execute_script("arguments[0].click();",ok3)

相关问题 更多 >