如何在Selenium中访问具有相同类名的第二个元素
我在我的网页上有两个元素,它们的类名是一样的,我想访问第二个元素,但我做不到。我试过用[position=1],还在我的xpath表达式后面加了[1]
driver.find_element_by_xpath("//div[@class='tableType value']")
上面的代码返回了这两个元素
我还试过
driver.find_element_by_xpath("//div[@class='tableType value']")[1]
driver.find_element_by_xpath("//div[@class='tableType value'][position=1]")
有人能帮我一下吗?
谢谢
3 个回答
-1
你需要使用:
driver.find_elements(by, value)
或者
driver.find_elements_by_class_name(name)
举个例子:
elements = driver.find_elements(By.CLASS_NAME, 'something')
elements[0].click()
elements[1].click()
3
你好,下面的代码可以用来点击第二个具有相同类名的元素。这里的[1]表示你想点击第二个元素,[2]表示你想点击第三个元素,依此类推。
driver.find_elements_by_class_name('classname')[1].click()
17
使用
driver.find_element_by_xpath("(//div[@class='tableType value'])[2]")
或者
driver.find_element_by_xpath("(//div[@class='tableType value'])[position()=2]")
XPath的计数是从1开始的,所以第二个元素的位置是 position()
2