我试图用Selenium WebDriver for Python扩展一个列表,该列表由一个按钮控制,如下所示:
要让您了解它在打开时的外观,请执行以下操作:
HTML如下所示:
<div> ##just for more information on the tree
<div> ##
<ul> ##
<li>
role = "presentation"
ng-if = "session.hasOccurrences" ## this is the name of a span
class = "expand-children ng-scope"
<button
role = "button"
class = "icon-button has tooltip"
bb-translate-attrs = "{aria-label ': 'session.session-list.toggle-occurrences-aria'}"
aria-pressed = "false"
ng-click = "expand()"
aria-label = "Toggle session occurrences">
</button>
</li>
</ul> ##
</div> ##
</div> ##
由于它有一个标签名“button”,我尝试使用以下方法,但没有成功:
url = 'Example.com'
driver = webdriver.Chrome()
driver.get(url)
driver.find_element_by_tag_name("button").click()
我尝试使用xpath和CSS选择器,但我对它们的使用经验很少。我可以做些什么来扩展列表吗
提前谢谢你的帮助
更新日期:2020年6月6日
我的生活变得艰难,因为我试图访问的网页上有JS。这个JS所做的一个改变是它隐藏了一些元素的路径。这很奇怪;在web页面上,它们是可访问和可单击的,但XPATH无法找到它们
我试图通过使用ActionChains在页面上定位一个可访问的元素,然后切换到我想要访问的元素中并单击它,从而智取这一点。但是当我通过制表符到达元素时,我不能单击它。我打印元素以查看Python看到的内容,它看到的是“无”。有什么解决办法吗
请尝试类似以下的
xpath
:这完全基于您共享的html,换句话说,假设
xpath
只匹配页面上的一个项目所需进口:
在XPath中使用“contains method”,如下所述
相关问题 更多 >
编程相关推荐