Python-刷新页面,直到元素可单击

2024-08-22Python开发问题
8

本文介绍了Python-刷新页面,直到元素可单击的处理方法,对大家解决问题具有一定的参考价值,需要的朋友们下面随着跟版网的小编来一起学习吧!

问题描述

我正在尝试创建此bot,它将刷新页面,直到元素可见。 我的问题是机器人不刷新,我似乎找不出原因:)

编辑:bot现在刷新所需的页面,直到所需的元素可见,但是bot不会单击它正在查找的所需的元素,而且我似乎找不出原因,因为代码显示";element.click()

I believe that this is the logs

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
import time


driver = webdriver.Chrome(executable_path="C:webdriverschromedriver.exe")


driver.get("xxx")

driver.maximize_window()


click = driver.find_element_by_xpath('//*[@id="coiPage-1"]/div[2]/div[1]/button[1]')
click.click()

time.sleep(1)

while true:

    if(driver.find_elements_by_xpath('//*[@id="siteContainer"]/div[6]/div/div[3]/div[1]/div[2]/div/div/div[2]/div[2]/div[3]/div[2]/form/button'))
   element.click()
   break
else:
   driver.refresh()
continue

推荐答案

我不是专家,但我会尽力帮助您。 首先,您的缩进似乎是错误的,并且您在if条件后忘记了一个冒号。 您的True需要从大写开始才能识别为布尔值,并且您应该使用try语句,而不是if

并且,您不能在WebElement列表上单击()。您需要使用find_element而不是find_elements查找一个元素。

如果从selenium.common.exceptions导入TimeoutException,则可以使用它来确定元素是否存在。

while True:
    try:
        element = WebDriverWait(driver, 10).until(EC.presence_of_element_located((By.XPATH'//*[@id="siteContainer"]/div[6]/div/div[3]/div[1]/div[2]/div/div/div[2]/div[2]/div[3]/div[2]/form/button')))
        element.click()
        break
    except TimeoutException:
        driver.refresh()
        continue

这篇关于Python-刷新页面,直到元素可单击的文章就介绍到这了,希望我们推荐的答案对大家有所帮助,也希望大家多多支持跟版网!

The End

相关推荐

在xarray中按单个维度的多个坐标分组
groupby multiple coords along a single dimension in xarray(在xarray中按单个维度的多个坐标分组)...
2024-08-22 Python开发问题
15

Pandas中的GROUP BY AND SUM不丢失列
Group by and Sum in Pandas without losing columns(Pandas中的GROUP BY AND SUM不丢失列)...
2024-08-22 Python开发问题
17

pandas 有从特定日期开始的按月分组的方式吗?
Is there a way of group by month in Pandas starting at specific day number?( pandas 有从特定日期开始的按月分组的方式吗?)...
2024-08-22 Python开发问题
10

GROUP BY+新列+基于条件的前一行抓取值
Group by + New Column + Grab value former row based on conditionals(GROUP BY+新列+基于条件的前一行抓取值)...
2024-08-22 Python开发问题
18

PANDA中的Groupby算法和插值算法
Groupby and interpolate in Pandas(PANDA中的Groupby算法和插值算法)...
2024-08-22 Python开发问题
11

PANAS-基于列对行进行分组,并将NaN替换为非空值
Pandas - Group Rows based on a column and replace NaN with non-null values(PANAS-基于列对行进行分组,并将NaN替换为非空值)...
2024-08-22 Python开发问题
10