无法使用硒(python)在网页上单击打印(图像元素)

时间:2020-04-01 18:53:14

标签: python-3.x selenium xpath

我正在尝试点击此网页上的打印选项:

http://agence-prd.ansm.sante.fr/php/ecodex/frames.php?specid=65123812&typedoc=R&ref=R0306505.htm

我正在使用以下代码:

<div class="blue-content">
  <div class="inner">
    <p>Blue</p>
  </div>
  <div class="red-content">
    <div class="inner">
      <p>Red</p>
    </div>
  </div>
</div>

我尝试了许多不同的方法来查找元素,但出现错误:

消息:没有这样的元素:无法找到元素:{“ method”:“ xpath”,“ selector”:“ // div [@ align ='center'] / a / img [@src ='{{ 3}}']“}

我想我错过了一些东西。如果有人可以在这里帮助我,那将是很棒的。 http://agence-prd.ansm.sante.fr/php/ecodex/images/icoimp.gif 谢谢

2 个答案:

答案 0 :(得分:1)

此元素存在于iframe中,请参考以下解决方案来解决您的问题:

from selenium import webdriver
from selenium.webdriver.support.ui import WebDriverWait
from selenium.webdriver.support import expected_conditions as EC
from selenium.webdriver.common.by import By
from selenium.webdriver.common.action_chains import ActionChains

driver = webdriver.Chrome(executable_path=r"../driver/chromedriver.exe")
driver.maximize_window()

driver.get("http://agence-prd.ansm.sante.fr/php/ecodex/frames.php?specid=65123812&typedoc=R&ref=R0306505.htm")

iframe=WebDriverWait(driver,10).until(EC.presence_of_element_located((By.NAME,"left")))
driver.switch_to.frame(iframe)
printButton=WebDriverWait(driver,10).until(EC.presence_of_element_located((By.XPATH,"//body[@class='menu']//div//a//img")))
printButton.click()

答案 1 :(得分:0)

您尝试过吗:

image_elements = driver.find_element_by_xpath("/html/body/div/a/img")
image_element.click()