按类名查找命令无法正常工作。

3

https://www.n11.com/telefon-ve-aksesuarlari/cep-telefonu-aksesuarlari

在这个网站上,我试图点击(下一页按钮)。
我想捕捉这一行。
<a href="https://www.n11.com/telefon-ve-aksesuarlari/cep-telefonu-aksesuarlari?pg=3" class="next navigation"></a>

我正在程序中编写这段代码。
data=driver.find_elements_by_class_name("next navigation")

我的问题是关于这个问题...它不起作用


“it is not working” 的意思是什么? - undefined
2个回答

16

data=driver.find_elements_by_class_name() 只接受单个类名。

class="next navigation" 定义了两个类:nextnavigation

所以你只能像这样搜索 next 或者 navigation

elementObj = driver.find_elements_by_class_name("next")
elementObj = driver.find_elements_by_class_name("navigation")

要通过多个类名查找元素,可以使用xpath或cssSelector:如何通过多个类名找到div元素?
elementObj = driver.findElement(By.cssSelector(".next.navigation"));

0

By.CLASS_NAME 似乎无法在类名中存在空格的情况下工作,就像您的情况中的 "next navigation" 一样。

解决方法应该是使用 CSS_SELECTOR 而不是 CLASS_NAME,并使用 . 代替 space

data = driver.find_element(By.CSS_SELECTOR, ".next.navigation")

网页内容由stack overflow 提供, 点击上面的
可以查看英文原文,
原文链接