【问题标题】:Find the button element for selenium Automation in python在 python 中查找 selenium 自动化的按钮元素
【发布时间】:2021-02-24 20:49:48
【问题描述】:

我检查了元素并得到了以下代码。
这个“激活”按钮在 4 小时内只出现一次。要运行该过程,我需要找到这个元素。

我尝试使用:

  1. find_element_by_class_name
  2. find_element_by_link_text
<div class="wrapper">
<button class="w-full h-14 pt-2 pb-1 px-3 bg-accent text-dark-1 rounded-full md:rounded select-none cursor-pointer md:hover:shadow-big focus:outline-none md:focus:bg-accent-2 md:focus:shadow-small ">
<div class="font-medium">
<div class="text-17 md:text-18 md:font-bold leading-18">Activate</div> 
<div class="text-13 md:text-12 font-normal md:font-medium leading-normal">to run process</div></div>
</button>
</div>

【问题讨论】:

    标签: python selenium button


    【解决方案1】:

    这应该搜索并刷新页面,直到弹出一个元素。

    wait = WebDriverWait(driver, 30)
    while True:
        try:
            wait.until(EC.presence_of_element_located((By.XPATH,"//div[@class='wrapper']/div[.='Activate']")))
            break
        except:
            driver.refresh()
    

    导入

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

    【讨论】:

      【解决方案2】:

      我在那个特定的网站上遇到了同样的问题,我终于能够解决它。我所做的是通过 Chromes 检查元素工具找到网站的“iframe”。

      您可以在此处找到 iframe 源代码:

      一旦发现这一点,请编写以下代码:

          while True:
          try: 
              self.driver.get("Enter Iframe src here")
              time.sleep(4)
              self.driver.find_element(By.CSS_SELECTOR, ".wrapper > .w-full").click()
              break
          except NoSuchElementException:
              self.driver.refresh()
              time.sleep(10)
      

      请注意,通过动态获取 iframe src 可能有更好的方法来做到这一点。但这应该可行。

      【讨论】:

        猜你喜欢
        • 1970-01-01
        • 2016-11-30
        • 1970-01-01
        • 2021-08-12
        • 2020-11-01
        • 2018-10-12
        • 2015-07-12
        • 2016-06-08
        • 2018-09-01
        相关资源
        最近更新 更多