Selenium:如何处理在您尝试检查它们时隐藏的 Web 元素? Python 3.x 相关

Selenium: How to deal with web elements that get hidden when you try to inspect them? Python 3.x related

我即将在 Python 上完成自动化程序的开发,唯一阻止我的是当我尝试从 OpenSea 检查它时立即隐藏的 Web 元素 页面(不能在这里分享 link 因为它需要连接到我的钱包):

到目前为止,我只设法得到这个有问题的元素 (div#tippy-298) 的 XPATHCSS_SELECTOR,如下所示:

button_problematic_xpath = driver.find_element(By.XPATH, '//*[@id="tippy-298"]')
button_problematic_css = driver.find_element(By.CSS_SELECTOR, '#tippy-298')

但我需要的是获取 button_problematic_css 包含的 Web 元素的 XPATHCSS_SELECTOR,更具体地说 "Starting"[=59] =] 和 "结束" Textboxes :

此外,为了以防万一,位于 button_problematic_css 之上的元素称为“持续时间”,这是它的 XPATH:

button_duration = driver.find_element(By.XPATH, '//*[@id="duration"]').click #after clicked it deploys div#tippy-298 element

我想知道是否有任何方法可以使用 Web 元素检查中的 Chrome Console 强制此 button_problematic_css 的可见性,或者通过使用 Python3.x Selenium 的特定方法 立即下载此页面紧随其后的所有 Web 元素 button_problematic_css 可见。

到目前为止我尝试的是手动检查元素,方法是按 Ctrl + Shift + C and 然后单击 button_problematic_css 中包含的元素,最终在单击其内容之前隐藏该元素,尝试在此页面的 DOM 中显示此元素的内容时,也会发生同样的情况,它只是消失了。

我只希望我的程序能够编辑 “开始”“结束” Textboxes 中的日期]

我想您需要单击按钮才能显示元素。我为什么猜?你需要显示 url

或者你也可以试试这个代码:

clickmore=WebDriverWait(driver, 2).until(EC.element_to_be_clickable((By.XPATH, 'blabalabla')))
self.driver.execute_script("arguments[0].click();", clickmore) 
button_duration = driver.find_element(By.XPATH, '//*[@id="duration"]').click()

经过几天的工作,我设法解决了这个问题,碰巧为了从这些特定元素获取 XPATH,我不得不使用 Chrome Console 并键入 $('#duration').click();

在这种情况下,#duration 是一个选择器,可用于获取 Web 元素按钮,该按钮允许您编辑单击时要设置的时间段。

我想一般的说法应该是这样的:

$('#your_css_selector').click();

现在,这样我就可以在 DOM 中更深入地观察,而不会让它们再次隐藏起来。