Python - Refresh page until Element is clickable(Python-刷新页面,直到元素可单击)
本文介绍了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-刷新页面,直到元素可单击的文章就介绍到这了,希望我们推荐的答案对大家有所帮助,也希望大家多多支持编程学习网!
沃梦达教程
本文标题为:Python-刷新页面,直到元素可单击


猜你喜欢
- pytorch 中的自适应池是如何工作的? 2022-07-12
- padding='same' 转换为 PyTorch padding=# 2022-01-01
- python-m http.server 443--使用SSL? 2022-01-01
- 如何将一个类的函数分成多个文件? 2022-01-01
- 如何在 python3 中将 OrderedDict 转换为常规字典 2022-01-01
- 分析异常:路径不存在:dbfs:/databricks/python/lib/python3.7/site-packages/sampleFolder/data; 2022-01-01
- 沿轴计算直方图 2022-01-01
- 如何在 Python 的元组列表中对每个元组中的第一个值求和? 2022-01-01
- python check_output 失败,退出状态为 1,但 Popen 适用于相同的命令 2022-01-01
- 使用Heroku上托管的Selenium登录Instagram时,找不到元素';用户名'; 2022-01-01