硒,python-无论我将延迟设置为什么,WebDriverWait都会超时60%

什么是蓝帽子

追溯

09:32:01 Traceback (most recent call last):
  File "/home/mike/projects/work/blacklight/venv/lib/python3.8/site-packages/rq/worker.py", line 975, in perform_job
    rv = job.perform()
  File "/home/mike/projects/work/blacklight/venv/lib/python3.8/site-packages/rq/job.py", line 696, in perform
    self._result = self._execute()
  File "/home/mike/projects/work/blacklight/venv/lib/python3.8/site-packages/rq/job.py", line 719, in _execute
    return self.func(*self.args, **self.kwargs)
  File "./sba_scraper/scrape.py", line 69, in scrape
    any_minority_owned_checkbox = WebDriverWait(driver, delay).until(
  File "/home/mike/projects/work/blacklight/venv/lib/python3.8/site-packages/selenium/webdriver/support/wait.py", line 80, in until
    raise TimeoutException(message, screen, stacktrace)
selenium.common.exceptions.TimeoutException: Message: 

代码

driver = webdriver.Firefox(firefox_profile=profile, options=options)
url = 'https://web.sba.gov/pro-net/search/dsp_dsbs.cfm'
driver.get(url)
delay = 60
checkbox = WebDriverWait(driver, delay).until(
    EC.presence_of_element_located((By.ID, 'EltCbtMin')))

无论我将延迟设置为3还是10或60,大多数时候我都会收到上面的异常,即它在找到该元素之前就超时了。显然,它可以工作40%的时间。谁能告诉我这是怎么回事?

DebanjanB

要单击与文本关联,即拥有任何少数民族,您可以使用以下定位策略之一

  • 使用css_selector

    driver.get('https://web.sba.gov/pro-net/search/dsp_dsbs.cfm')
    driver.find_element(By.CSS_SELECTOR, "input#EltCbtMin[aria-labelledby='LabCbtMin']").click()
    
  • 使用xpath

    driver.get('https://web.sba.gov/pro-net/search/dsp_dsbs.cfm')
    driver.find_element(By.XPATH, "//input[@id='EltCbtMin' and @aria-labelledby='LabCbtMin']").click()
    

理想情况下,要单击,您需要为引入WebDriverWaitelement_to_be_clickable()并且可以使用以下定位策略之一

  • 使用CSS_SELECTOR

    driver.get('https://web.sba.gov/pro-net/search/dsp_dsbs.cfm')
    WebDriverWait(driver, 20).until(EC.element_to_be_clickable((By.CSS_SELECTOR, "input#EltCbtMin[aria-labelledby='LabCbtMin']"))).click()
    
  • 使用XPATH

    driver.get('https://web.sba.gov/pro-net/search/dsp_dsbs.cfm')
    WebDriverWait(driver, 20).until(EC.element_to_be_clickable((By.XPATH, "//input[@id='EltCbtMin' and @aria-labelledby='LabCbtMin']"))).click()
    
  • 注意:您必须添加以下导入:

    from selenium.webdriver.support.ui import WebDriverWait
    from selenium.webdriver.common.by import By
    from selenium.webdriver.support import expected_conditions as EC
    
  • 浏览器快照:

web_sba_gov

本文收集自互联网,转载请注明来源。

如有侵权,请联系 [email protected] 删除。

编辑于
0

我来说两句

0 条评论
登录 后参与评论

相关文章

python硒的useAutomationExtension等价于什么?

Python硒不适用于WebDriverWait

为什么我的硒不能在python脚本中工作?

如何设置Firefox的硒Python环境?

我真的迷上了Python硒模块

如何设置python硒3.8.0的'driver.get'超时?

CSS动画延迟不适用于fadeIn效果。无论我将延迟设置为什么,动画都会立即开始

为什么硒不单击python中的按钮?

为什么我要使用python硒从Chrome下载文件时为什么出现错误

如何在python硒中设置页面源?

我腌制的cookie在硒中不起作用-python吗?

我如何使用python硒读取html代码

我应该使用哪个硒python软件包?

单击我在 python 中找不到硒的按钮

我如何解决这个python硒问题?

嗨,我正在用python进行硒试验

如何使用python硒将文本添加到页面?

使用python硒模块将简历上传到网站

如何将硒python代码拆分为乘法函数

为什么我无法从PowerBI网页中用python读取带有硒的xpath

为什么我无法在python中使用硒显示产品价格?

硒超时

为什么带有python硒的execute_script(“ return document.body.scrollHeight”)返回0

WebdriverWait无法正常工作,还有其他选择吗?(python硒)

让硒等待-WebDriverWait问题

无论我做什么都无法选择硒元素

如何在python硒中设置Chrome实验选项same-site-by-default-cookie

Python硒-send_keys或JS设置的值不起作用

我如何在硒python 3中重新定位/禁用GeckoDriver的日志文件?