gpt4 book ai didi

python - 即使 x 路径正确,Selenium Python 脚本也不会抛出元素错误异常?

转载 作者:太空宇宙 更新时间:2023-11-04 00:47:55 29 4
gpt4 key购买 nike

from selenium import webdriver
from selenium.webdriver.support.ui import WebDriverWait
from selenium.webdriver.common.by import By
from selenium.webdriver.support import expected_conditions as EC
from selenium.webdriver.common.keys import Keys
driver=webdriver.Chrome()
driver.get("https://paytm.com/")
driver.maximize_window()
driver.find_element_by_class_name("login").click()
driver.implicitly_wait(10)
driver.find_element_by_xpath("//md-input-container[@class='md-default-theme md-input-invalid']/input[@id='input_0']").send_keys("99991221212")

在上面的代码中,我已经使用 fire bug 验证了 xpath,它突出显示了正确的元素。但是当脚本运行失败时?你能帮帮我吗?

最佳答案

在 selenium 中,每一帧都是单独处理的。由于登录位于单独的 iframe 元素中,因此您需要首先使用以下方式切换到它:

iframe = driver.find_elements_by_tag_name('iframe')[0]
driver.switch_to_frame(iframe)

尝试与其元素交互之前。

或者在这种情况下,您将等待框架存在,它将是:

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

driver = webdriver.Chrome()
driver.get("https://paytm.com/")
driver.maximize_window()

wait = WebDriverWait(driver, 10)

wait.until(EC.visibility_of_element_located((By.CLASS_NAME, "login"))).click()
wait.until(EC.frame_to_be_available_and_switch_to_it((By.TAG_NAME, "iframe")))

_input = wait.until(EC.visibility_of_element_located((By.ID,"input_0")))
_input.send_keys("99991221212")

关于python - 即使 x 路径正确,Selenium Python 脚本也不会抛出元素错误异常?,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/38551400/

29 4 0
Copyright 2021 - 2024 cfsdn All Rights Reserved 蜀ICP备2022000587号
广告合作:1813099741@qq.com 6ren.com