我有一个包含多个链接的表,这些链接具有相同的LinkText
,因此当我使用该表时,总是选中第一个元素,因此不起作用:
driver.find_element_by_partial_link_text('Click here').click()
然后我使用I javascript函数使用其XPath获取table/tbody
中的所有元素。如果我用变量rows
打印每个元素,它看起来
就像这样<selenium.webdriver...element="...")>
。你知道吗
在我的当前代码下:
import time
from selenium import webdriver
url="http://example_url.com"
driver_path="/driver/chromedriver"
driver = webdriver.Chrome(driver_path)
driver.get (url)
rows = driver.execute_script('''function getElementByXpath(path) {..};return getElementByXpath("//*[@id='someID']/table/tbody/").rows''')
>>> for r in rows:
... print r # This prints the elements within 'rows'
... #some other code
...
<selenium.webdriver.remote.webelement.WebElement (session="e819b7b267ba043d4233e118c5844e1e", element="0.7287146883212632-2")>
<selenium.webdriver.remote.webelement.WebElement (session="e819b7b267ba043d4233e118c5844e1e", element="0.7287146883212632-3")>
<selenium.webdriver.remote.webelement.WebElement (session="e819b7b267ba043d4233e118c5844e1e", element="0.7287146883212632-4")>
<selenium.webdriver.remote.webelement.WebElement (session="e819b7b267ba043d4233e118c5844e1e", element="0.7287146883212632-5")>
如何对找到的每个元素执行click()
?你知道吗
比如:
对于行中的r: print r.click()#这不起作用
谢谢你的帮助。你知道吗
必须使用索引到达行,因为每次单击表中的链接时,元素索引都会刷新。如果不使用索引并尝试使用循环单击链接,则可能会得到StaleElementException。你知道吗
下面是应该起作用的逻辑。你知道吗
相关问题 更多 >
编程相关推荐