Python + Selenium无法通过XPath找到元素

时间:2018-05-11 18:20:45

标签: python selenium

我想点击页面左侧的“chercher”按钮(中间)。

url = "https://www.fpjq.org/repertoires/repertoire-des-medias/"

driver = webdriver.Firefox()

driver.get(url)
time.sleep(2)
driver.find_element_by_xpath('//*[@id="recherche"]/input[3]').click()

然而,它找不到元素。我复制粘贴XPath所以我不确定为什么它不起作用。

感谢。

1 个答案:

答案 0 :(得分:1)

那是因为iframe内的必需按钮能够点击它,你需要切换到那个iframe:

url = "https://www.fpjq.org/repertoires/repertoire-des-medias/"

driver = webdriver.Firefox()

driver.get(url)
time.sleep(2)
driver.switch_to.frame(driver.find_element_by_tag_name("iframe"))
driver.find_element_by_xpath('//*[@id="recherche"]/input[3]').click()

另请注意,使用time.sleep()不是一个好习惯。您可以尝试实施Explicitwait而不是