我正尝试在Selenium和Python中使用此XPath,但它会产生错误:'消息:没有这样的元素:无法找到元素':
driver.find_element(By.XPATH, '//div[contains (@class, "files-list-grid-view")]/div[1][contains (@class, "folder")]').click()
此代码可在具有$ x()的开发工具中使用。
我需要标记元素。
答案 0 :(得分:0)
如果dataref
节点值是唯一的并且它没有动态变化,则可以使用下面的xpath:
element = driver.find_element_by_xpath("//div[@dataref='folder-0']")
如果仍然出现错误,请尝试延迟一段时间,然后再按如下所示进行定位:
from time import sleep
sleep(3)
element = driver.find_element_by_xpath("//div[@dataref='folder-0']")
# And perform some action here
仍然无法正常工作,然后使用frame
或iframe
定位符检查//iframe
或//frame
,以及是否有匹配项以及您要尝试的定位符找到位于某个框架中,然后使用下面的行切换到它,然后尝试再次运行代码:
from time import sleep
# Switch to corresponding frame
driver.switch_to_frame("frame locator")
# Wait for sometime
sleep(3)
# Try to find an element
element = driver.find_element_by_xpath("//div[@dataref='folder-0']")
# And perform some action here
我希望它能起作用...