选择没有索引的下一个元素

时间:2018-11-16 05:26:42

标签: python selenium

我正在尝试单击所有具有链接文本的元素,其编辑方式为:

for i in browser.find_elements_by_link_text('edit'): browser.find_element_by_link_text('edit').click()

现在,这显然只单击了i次发现的第一个元素。我通常会尝试使用XPath/CSS Selector并像使用表一样循环使用索引来获取下一个元素,但是除了具有不同的ID外,这些XPath是相同的,因此我不知道如何单击所有元素在这种情况下。

这是我尝试编辑的Reddit评论:

enter image description here

使用XPath:

//*[@id="e9sczhm"]/div[2]/div[2]/a[5]

//*[@id="e9s7x4j"]/div[2]/div[2]/a[5]

2 个答案:

答案 0 :(得分:0)

应为i.click()

for i in browser.find_elements_by_link_text('edit'):
    i.click()

答案 1 :(得分:0)

for i in browser.find_elements_by_link_text('edit'):
        browser.find_element_by_link_text('edit').click()

from selenium.webdriver.common.keys import Keys
# Find just one element
browser.find_element_by_link_text('edit').click() #<<<--- Starting point (cursor current position)
scheme = (Keys.TAB,Keys.Enter,Keys.TAB,Keys.TAB,Keys.Enter)
for i in scheme : browser.sendKeys(i)

[开始位置/元素] [TAB] [HIT] [元素1] [TAB] [元素2] [TAB] [元素3] [TAB] [HIT] [元素4]

只需点击第一个和第四个元素!