提问人:Diana 提问时间:10/26/2023 更新时间:10/26/2023 访问量:22
使用 selenium 访问嵌套在多个元素中的 div
Accessing a div nested in multiple elements using selenium
问:
我正在尝试使用 python 中的 selenium 库自动执行 Web 交互(我是初学者)。这是我希望代码自动按下的按钮的一些html代码:
<div class="MuiButtonBase-root MuiIconButton-root MuiAccordionSummary-expandIcon MuiIconButton-edgeEnd" aria-disabled="false" aria-hidden="true"><span class="MuiIconButton-label"><svg class="MuiSvgIcon-root" focusable="false" viewBox="0 0 24 24" aria-hidden="true"><path d="M16.59 8.59L12 13.17 7.41 8.59 6 10l6 6 6-6z"></path></svg></span><span class="MuiTouchRipple-root"></span></div>
我尝试编写一个函数,该函数遍历网站中每个html父级的每个子级,并找到具有该元素类的子级:
def find_element_by_class(driver, class_name):
elements = driver.find_elements(By.XPATH, "//*")
def search_element(elements):
for element in elements:
if element.get_attribute("class") == class_name:
return element
else:
child_elements = element.find_elements(By.XPATH, "./*")
if child_elements:
found_element = search_element(child_elements)
if found_element:
return found_element
return None
return search_element(elements)
element = find_element_by_class(driver, "MuiButtonBase-root MuiIconButton-root MuiAccordionSummary-expandIcon Mui-expanded MuiIconButton-edgeEnd")
element.click()
我期待该函数找到正确的元素并单击它。相反,连接只是超时(可能是因为函数需要很长时间才能完成)。有没有更好的方法可以做到这一点,或者我在哪里出错了?
答: 暂无答案
评论