界面上不在 micro-app 微前端内部的元素都可以点击,唯独 micro-app 微前端内部的所有元素都操作不了。
selenium 4.16.0 版本定位界面元素在 micro-app 微前端内部
element = driver.find_element(By.XPATH, "//div[@id='app-alarm-search']/div/div[1]/div/button[1]")
element.click()
元素能查找到,但是 element.click() 一直报错:
driver.execute_script("arguments[0].click();", element)
File "D:\Python38\lib\site-packages\selenium\webdriver\remote\webdriver.py", line 408, in execute_script
return self.execute(command, {"script": script, "args": converted_args})["value"]
File "D:\Python38\lib\site-packages\selenium\webdriver\remote\webdriver.py", line 348, in execute
self.error_handler.check_response(response)
File "D:\Python38\lib\site-packages\selenium\webdriver\remote\errorhandler.py", line 229, in check_response
raise exception_class(message, screen, stacktrace)
selenium.common.exceptions.StaleElementReferenceException: Message: stale element reference: element is not attached to the page document
网上查了一些方法增加等待时长,捕获 StaleElementReferenceException 异常重新查找点击都不能解决
此外,同一个元素使用相同的 css 定位,使用 driver.execute_script("document.querySelector('css').click();") 可以正常点击,使用 driver.find_element(By.CSS_SELECTOR, css).click() 报上述错误,
谁能帮忙解答下?


↙↙↙阅读原文可查看相关链接,并与作者交流