我有一个非常奇怪的问题。 有一个网站有以下两个按钮(当我检查页面时我可以看到它们):
按钮1
<ul class=" _3dEhb">
<li class = " LH76I">
<a class="-na14 _81NM2" href="/preview/">
<span class="g47FY 10XF41"</span>" preview"
<li class = " LH76I">
<a class="-na14 _81NM2" href="/launch/">
<span class="g47FY 10XF41"</span>" launch"
我正在使用python selenium代码
buttons = driver.find_element_by_class_name('LH76I')
如果我在不检查网页的情况下运行它,这段代码会给我一个空列表。 但是,如果我调试并检查网页,相同的代码会在列表中给出2个项目。 我究竟做错了什么? 感谢
答案 0 :(得分:0)
您应该使用driver.find_elements_by_class_name
,因为您正在尝试获取具有相同标识符的元素列表。请尝试以下代码:
buttons = driver.find_elements_by_class_name('LH76I')
然后,如果你想点击或其他什么,你会这样做:
buttons[0].click()
编辑 - 您可以尝试通常提取列表项的方式:
main_list = driver.find_element_by_class_name('_3dEhb') //gets the main ul element
List<WebElement> list_items = main_list.findElements(By.tagName("li"));
for x in range(0, len(list_items)):
{
// whatever you want to do with the item
}