回溯
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%的时间里起作用。有人能告诉我是怎么回事吗?
发布于 2021-02-15 09:59:07
要单击与文本关联为的(任何少数族裔拥有的),您可以使用以下任何一个定位器策略
css_selector:
"input#EltCbtMinaria-labelledby='LabCbtMin'").click() driver.get('Dsbs.cfm的) driver.find_element(By.CSS_SELECTOR )xpath:
driver.get('Dsbs.cfm的) driver.find_element(By.XPATH,"//input@id='EltCbtMin‘和@aria-labelledby='LabCbtMin'").click()理想情况下,要单击需要为WebDriverWait诱导element_to_be_clickable()的元素,可以使用以下任何一个定位器策略
CSS_SELECTOR:
20).until(EC.element_to_be_clickable((By.CSS_SELECTOR,"input#EltCbtMinaria-labelledby='LabCbtMin'"))).click() driver.get('Dsbs.cfm的) WebDriverWait(驱动程序)XPATH:
( 20).until(EC.element_to_be_clickable((By.XPATH,)//driver.get@id=‘EltCbtMin’和@aria-labelledby=‘LabCbtMin’)).click()

https://stackoverflow.com/questions/66205739
复制相似问题