缩放后元素不可点击
Element is not clickable after zoom
全部
我通过硒和 python:
获取元素
driver.get(url)
el = driver.find_elements_by_css_selector('mycssselector')[0]
el.click()
没关系!
但是接下来,我发现有些时候页面太长,所以我在点击之前放大了页面:
driver.get(url)
driver.execute_script("document.body.style.zoom='85%'")
el = driver.find_elements_by_css_selector('mycssselector')[0]
el.click()
但是这次,我收到了错误信息:
element click intercepted: Element is not clickable at point (1626, 120)
修改缩放值后有什么办法可以cilck吗?谢谢!
使用操作 class 或 java script executor
来点击
from selenium.webdriver.common.action_chains import ActionChains
el = driver.find_elements_by_css_selector('mycssselector')[0]
ActionChains(driver).move_to_element(el).click().perform()
或
driver.execute_script("arguments[0].click();", el)
或
使用 WebDriverWait
() 并等待 element_to_be_clickable
()
WebDriverWait(driver,20).until(EC.element_to_be_clickable((By.CSS_SELECTOR,"mycssselector"))).click()
导入以下库
from selenium.webdriver.support.ui import WebDriverWait
from selenium.webdriver.support import expected_conditions as EC
from selenium.webdriver.common.by import By
或许您可以尝试在缩放之前选择元素,然后再次使用 execute_script
单击该元素。
driver.get(url)
el = driver.find_elements_by_css_selector('mycssselector')[0]
driver.execute_script("document.body.style.zoom='85%'")
driver.execute_script("arguments[0].click();", el)
el.click()
全部 我通过硒和 python:
获取元素driver.get(url)
el = driver.find_elements_by_css_selector('mycssselector')[0]
el.click()
没关系! 但是接下来,我发现有些时候页面太长,所以我在点击之前放大了页面:
driver.get(url)
driver.execute_script("document.body.style.zoom='85%'")
el = driver.find_elements_by_css_selector('mycssselector')[0]
el.click()
但是这次,我收到了错误信息:
element click intercepted: Element is not clickable at point (1626, 120)
修改缩放值后有什么办法可以cilck吗?谢谢!
使用操作 class 或 java script executor
来点击
from selenium.webdriver.common.action_chains import ActionChains
el = driver.find_elements_by_css_selector('mycssselector')[0]
ActionChains(driver).move_to_element(el).click().perform()
或
driver.execute_script("arguments[0].click();", el)
或
使用 WebDriverWait
() 并等待 element_to_be_clickable
()
WebDriverWait(driver,20).until(EC.element_to_be_clickable((By.CSS_SELECTOR,"mycssselector"))).click()
导入以下库
from selenium.webdriver.support.ui import WebDriverWait
from selenium.webdriver.support import expected_conditions as EC
from selenium.webdriver.common.by import By
或许您可以尝试在缩放之前选择元素,然后再次使用 execute_script
单击该元素。
driver.get(url)
el = driver.find_elements_by_css_selector('mycssselector')[0]
driver.execute_script("document.body.style.zoom='85%'")
driver.execute_script("arguments[0].click();", el)
el.click()