我有这个功能,我不能点击所有的放大镜从一页。到目前为止,我一直在尝试使用不同的替代方案。我想说的是,到目前为止,我一直在努力。
def lupa():
elements = browser.find_elements_by_css_selector("a[onclick='return Go(event, 2)'] > img[title='Details']")
for element in elements:
#element.click()
element.send_keys(Keys.SPACE)
time.sleep(1)请参阅下面的HTML代码的外观。
<a href="#" onclick="return Go(event, 2)">
<img title="Details" src="/common/images/Detail.gif">
</a>这是我用来单击图像的旧XPATHs。
#browser.find_element_by_xpath(".//*[@id='resultsTable']/tbody/tr[17]/td[11]/a[2]/img").click()
#lupa = browser.find_element(By.XPATH("//img[@src='/common/images/Detail.gif']"))
#lupa = browser.find_element(By.cssSelector("a[src='/common/images/Detail.gif']"))
#lupe = browser.find_elements_by_css_selector("a[src='/common/images/Detail.gif']"))
#lupa=browser.find_element_by_link_text("Details").click()
#lupa= browser.find_element_by_id("Details").click()
#elements = browser.find_elements_by_css_selector("a[src='/common/images/Detail.gif']"))谢谢你的回答!
科恩
发布于 2017-08-18 20:48:36
你尝试过的大多数定位器都无效。您可能应该花一些时间学习不同的定位器类型以及它们是如何工作的。
给定HTML,下面的CSS选择器应该会找到您想要的IMG标记。
img[title='Details']另外,您没有正确地使用隐式等待。它只为司机的一生设置了一次。一遍又一遍地打电话什么都没有。您不想使用隐式等待,而是使用显式等待。请看一些WebDriverWait教程。
编辑:单击IMG标记应该可以找到,因为它被所需的A标记包围了。但是..。如果您需要具体地单击A标记,您应该能够使用下面的定位器。
更具体的CSS选择器
a[onclick='return Go(event, 2)'] > img[title='Details']XPath
//a[@onclick='return Go(event, 2)'][./img[title='Details']]https://stackoverflow.com/questions/45763495
复制相似问题