python - 如何使用带有 chromedriver 的 python-binding selenium 刷新绕过缓存?
问题描述
我将 python 绑定硒与 chromedriver 一起使用。我使用 webdriverwait 直到未显示元素的预期条件
from selenium.webdriver.support.ui import WebDriverWait
from selenium.webdriver.support import expected_conditions as ec
def view_journal_entry(self):
self.driver.refresh()
self.driver.find_element_by_css_selector('a.small_journal_link.get-ajax-account-transaction').click()
try:
WebDriverWait(self.driver, 10).until(
ec.invisibility_of_element_located((By.CSS_SELECTOR, 'div.blinkdot')))
finally:
pass
def check_journal_entry(self):
self.view_journal_entry()
debit = self.driver.find_element_by_css_selector('td.gl_total_debit').get_attribute('innerHTML')
credit = self.driver.find_element_by_css_selector('td.gl_total_credit').get_attribute('innerHTML')
index = 0
while ((debit != credit) or (debit == '0,00') or (credit == '0,00')) and index < 2:
self.view_journal_entry()
index += 1
if (debit == credit) and (debit != '0,00') and (credit != '0,00'):
print('debit is ' + debit + '\n' + 'credit is ' + credit)
print('journal entry is balanced \n')
self.driver.refresh()
elif (debit == '0,00') or (credit == '0,00'):
print('debit or credit is 0, please check sidekiq \n')
self.driver.refresh()
else:
print('debit is ' + debit + '\n' + 'credit is ' + credit)
print('journal entry is not balanced \n')
self.driver.refresh()
问题是webdriver不会等到超时才显示元素,我唯一需要做的就是将正常刷新更改为刷新绕过缓存,以便在循环函数时不显示元素。
如何使用带有 chromedriver 的 python selenium 刷新绕过缓存?
解决方案
推荐阅读
- r - 在基本图例中画线点缀
- javascript - 从 mxGraph 输出 SVG 文件
- python-3.x - 在 Python 中更新绘图
- javascript - 如何通过使用 Vue.js 3 按下按钮来一一显示数组中的元素
- c# - Windows 窗体应用程序计时器问题
- swift - 在 Swift 和 Firebase 中检查和比较消息
- c++ - const成员函数和const-ref成员函数有什么区别
- flask - 在本地更新(Python Flask)后恢复 Auth0 访问令牌授权
- javascript - 记录用户存在状态 discord.js
- input - TinyMCE 版本 5 - 无法输入标准弹出窗口(例如链接、媒体)输入字段