我正在尝试单击所有具有链接文本的元素,其编辑方式为:
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评论:
使用XPath:
//*[@id="e9sczhm"]/div[2]/div[2]/a[5]
//*[@id="e9s7x4j"]/div[2]/div[2]/a[5]
答案 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]
只需点击第一个和第四个元素!