蟒蛇硒1

时间:2021-04-12 19:20:03

标签: python selenium webdriver webdriverwait

嘿,我是 python selenium 开发的新手,如果有人有多余的时间,我有点需要帮助:)

我正在使用这个网站:https://www.youlikehits.com/retweets.php 我正在尝试点击绿色的确认按钮。但对于一些共鸣,我不知道如何点击它。每次尝试都说找不到。

你们有什么想法吗?

屏幕: https://i.stack.imgur.com/Z31In.png html代码屏幕: https://i.stack.imgur.com/herDB.png

代码:

driver.find_element_by_link_text('Confirm').click()


try:
        print("Trying")
        print("Making points Click")
        time.sleep(5)
except NoSuchAttributeException:
        print("Element not found!")
        continue
except:
        print("Something els is wrong!")

driver.quit()

最好的问候菲利克斯

2 个答案:

答案 0 :(得分:1)

Confirm 链接位于 iframe 内,您需要先切换到 iframe 才能访问该元素。

使用 WebDriverWait() 等待 frame_to_be_available_and_switch_to_it() 和以下 css 选择器 使用 WebDriverWait() 等待 element_to_be_clickable() 并遵循 xpath

driver.get("url")
wait=WebDriverWait(driver,10)
wait.until(EC.frame_to_be_available_and_switch_to_it((By.CSS_SELECTOR, "iframe[src^='retweetrender.php']")))
wait.until(EC.element_to_be_clickable((By.XPATH,"//a[contains(.,'Confirm')]"))).click()

driver.get("url")
wait=WebDriverWait(driver,10)
wait.until(EC.frame_to_be_available_and_switch_to_it((By.CSS_SELECTOR, "iframe[src^='retweetrender.php']")))
wait.until(EC.element_to_be_clickable((By.LINK_TEXT,"Confirm"))).click()

您需要以下导入。

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

答案 1 :(得分:0)

我的代码 我不允许添加我所有的代码。它说的是关于 4 个空格等等。但这是允许的。当我尝试单击“确认”按钮时,我的问题以任何方式开始。在这里,我的问题开始了。 其余代码完美运行:)

enter code here



driver.find_element_by_link_text('Confirm').click()


try:
    print("Trying")
    print("Making points Click")
    time.sleep(5)
except NoSuchAttributeException:
    print("Element not found!")
    continue
except:
    print("Something els is wrong!")

driver.quit()