python - 有没有办法从菜单栏中的当前项目中移除焦点并选择另一个链接?
问题描述
有没有办法从菜单栏中的当前视图中出来并使用 python 选择并单击另一个菜单项?
我正在尝试自动选择菜单栏项。问题是页面的当前视图停留在父链接下的链接上。我需要移除这个焦点并在列表中选择另一个项目,然后使用 href 单击打开。
编辑:我的代码:
driver = webdriver.Chrome()
driver.get('https://adminlte.io/themes/AdminLTE/index2.html')
elm = driver.find_element_by_xpath('//div/ul/li[4]')
driver.implicitly_wait(5)
elm.click()
菜单栏的列表如下所示:
<ul class="sidebar-menu tree" data-widget="tree">
<li class="header">MAIN NAVIGATION</li>
<li class="active treeview menu-open">
<a href="#">
<i class="fa fa-dashboard"></i> <span>Dashboard</span>
<span class="pull-right-container">
<i class="fa fa-angle-left pull-right"></i>
</span>
</a>
<ul class="treeview-menu">
<li><a href="index.html"><i class="fa fa-circle-o"></i> Dashboard v1</a>
</li>
<li class="active"><a href="index2.html"><i class="fa fa-circle-o"></i> Dashboard v2</a></li>
</ul>
</li>
<li class="treeview">
<a href="#">
<i class="fa fa-files-o"></i>
<span>Layout Options</span>
<span class="pull-right-container">
<span class="label label-primary pull-right">4</span>
</span>
</a>
<ul class="treeview-menu">
<li><a href="pages/layout/top-nav.html"><i class="fa fa-circle-o"></i> Top Navigation</a></li>
<li><a href="pages/layout/boxed.html"><i class="fa fa-circle-o"></i> Boxed</a></li>
<li><a href="pages/layout/fixed.html"><i class="fa fa-circle-o"></i> Fixed</a></li>
<li><a href="pages/layout/collapsed-sidebar.html"><i class="fa fa-circle-o"></i> Collapsed Sidebar</a></li>
</ul>
</li>
<li>
<a href="pages/widgets.html">
<i class="fa fa-th"></i> <span>Widgets</span>
<span class="pull-right-container">
<small class="label pull-right bg-green">new</small>
</span>
</a>
</li>
解决方案
这有效:
driver = webdriver.Chrome()
driver.get('https://adminlte.io/themes/AdminLTE/index2.html')
elm = driver.find_element_by_link_text("Dashboard v1")
elm.click()
links = driver.find_elements_by_xpath("/html/body/div[1]/aside[1]/section/ul/li[4]")
for link in links:
link.click()
推荐阅读
- vega-lite - 在 Antora 中嵌入 Vega-Lite 图表
- r - 有没有办法使用变量来访问多维数组中的元素来存储索引
- c - 在运行时获取 ram 部分的地址
- java - Jpa 在第一个和第二个表中加入 where 子句
- linux - 如何调整列的块大小
- openedge - Progress Developer Studio for OpenEdge 出现语法错误,但从 Progress Editor 检查语法时,相同的代码不会出现任何语法错误
- sql-server - 如何检测 SQL Server 中查询执行的来源?
- android - 如何更改 apk 的方向,锁定在横向
- python - 在 python pandas 中使用 group by 方法的变量
- terraform - Tarraform iam 策略资源定义有条件地基于变量