1、隐藏的元素
定位一组元素,发现报错:selenium.common.exceptions.ElementNotInteractableException: Message: element not interactable
检查写的定位方法没发现问题,后来发现页面上只有3个找出来有9个。
加上代码显示成功了,原来元素有些是隐藏的,虽然没搞明白为啥有隐藏的
# for input_ in inputs1:
# if input_.get_attribute("text") == "1" and input_.is_displayed():
# input_.click()
2、动态模窗DIIV
一个div窗口的元素怎么也定位不到,也不是多个窗口,就是当前的窗口,也不是要切换iframe,也不是asert最后才知道,要用方法driver.switch_to_default_content()定位,定位到当前最顶层DIV
driver.switch_to_default_content()
3、出现点击位置被覆盖从而点击错误的问题,报错:selenium.common.exceptions.ElementClickInterceptedException: Message: element click intercepted: Element … is not clickable at point (832, 287). Other element would receive the click: <input type=“text” autocomplete=“off” class="el-input__i
方法一:js注入
ele=driver.find_element_by_xpath("//span[text()='确认修改']")
driver.execute_script("arguments[0].click();", ele)
方法二:ActionChains,需要先导入
element = driver.find_element_by_css(‘div[class*=“loadingWhiteBox”]’)
webdriver.ActionChains(driver).move_to_element(element ).click(element ).perform()
方法三:使用回车代替点击
driver.find_element(By.CSS_SELECTOR,"#submit").send_keys(Keys.ENTER)
4、报错:selenium.common.exceptions.ElementClickInterceptedException: Message: element click intercepted,有其他元素覆盖了元素定位
element=driver.find_element_by_xpath("//p[text()='标记问题卷']")
driver.execute_script("arguments[0].click()",element)
5、接上条,定位到了元素,点击了页面却无响应,加上time.sleep(5),就可以了,原因是页面虽然看到了那个元素,但是有些数据可能还没有加载出来,所以需要设置强制等待。