Selenium超时异常:使用 selenium 的消息

dl5txlt9  于 2022-12-04  发布在  其他
关注(0)|答案(1)|浏览(190)
from selenium import webdriver
import time
from selenium.webdriver.chrome.service import Service
from selenium.webdriver.common.by import By
from webdriver_manager.chrome import ChromeDriverManager
from bs4 import BeautifulSoup
import pandas as pd
from selenium.webdriver.support import expected_conditions as EC
from selenium.webdriver.chrome.service import Service
from selenium.webdriver.common.by import By
from selenium.webdriver.support.wait import WebDriverWait

options = webdriver.ChromeOptions()
options.add_argument("--no-sandbox")
options.add_argument("--disable-gpu")
options.add_argument("--window-size=1920x1080")
options.add_argument("--disable-extensions")
driver = webdriver.Chrome(service=Service(ChromeDriverManager().install()))
                    
URL = 'https://gemelnet.cma.gov.il/views/dafmakdim.aspx'
driver.get(URL)
time.sleep(2)

review=WebDriverWait(driver, 20).until(EC.visibility_of_element_located((By.XPATH, "//input[@id='knisa']")))
review.click()

table=WebDriverWait(driver, 20).until(EC.visibility_of_element_located((By.XPATH, "//div[@class='Aaaa89455bbfe4387b92529246ea52dc6114']//font"))).text()
print(table)

我试图提取表,但他们给予我raise TimeoutException(message, screen, stacktrace) selenium.common.exceptions.TimeoutException: Message:我如何解决这些错误的任何建议。
请告诉我什么错误,我会这样做,这是页面链接https://gemelnet.cma.gov.il/views/dafmakdim.aspx

table

ovfsdjhp

ovfsdjhp1#

这里有几个问题需要改进:
1.您尝试使用的Aaaa89455bbfe4387b92529246ea52dc6114类是动态值。它不能用作定位器。
1.你点击进入系统的第一个元素-你应该等待元素的可点击性,而不仅仅是可见性。这些条件几乎是相似的,但是因为你要点击元素的可点击性应该被检查。可见性通常在我们要从该元素中提取文本时使用。
1.无需在review=WebDriverWait(driver, 20).until(EC.visibility_of_element_located((By.XPATH, "//input[@id='knisa']")))之前添加time.sleep(2)
1.可以直接对WebDriverWait(driver, 20).until(EC.visibility_of_element_located((By.XPATH, "//input[@id='knisa']")))返回的web元素对象应用点击,不需要保存到review临时变量中。
1.您试图打印的表格最初显示“正在加载”内容。因此,为了克服这个问题,我等待其中一列出现,再添加一些延迟,然后获得整个表格的文本。
不理想,但可以实现以下功能:

import time

from selenium import webdriver
from selenium.webdriver.chrome.service import Service
from selenium.webdriver.chrome.options import Options
from selenium.webdriver.support.ui import WebDriverWait
from selenium.webdriver.common.by import By
from selenium.webdriver.support import expected_conditions as EC

options = Options()
options.add_argument("start-maximized")

webdriver_service = Service('C:\webdrivers\chromedriver.exe')
driver = webdriver.Chrome(options=options, service=webdriver_service)
wait = WebDriverWait(driver, 10)

url = "https://gemelnet.cma.gov.il/views/dafmakdim.aspx"
driver.get(url)

wait.until(EC.element_to_be_clickable((By.XPATH, "//input[@id='knisa']"))).click()
wait.until(EC.visibility_of_element_located((By.XPATH, "//td[contains(.,'קרנות השתלמות')]")))
time.sleep(2)
table = wait.until(EC.visibility_of_element_located((By.XPATH, "//table[@id='ReportViewer1_fixedTable']"))).text
print(table)

输出为:

30/11/2022
(30/11/2022)
סה"כ נכסי הקופות - לפי סוג קופה
(במיליוני ש"ח)
נכון לסוף אוקטובר 2022
תשואה שנתית
סה"כ נכסים
קופ"ג להשקעה- חסכון לילד
קופ"ג להשקעה
מטרה אחרת
מרכזית לפיצויים
קרנות השתלמות
תגמולים ואישית לפיצויים
שנת דיווח
   ---   
648,227
14,480
34,775
946
10,806
303,352
283,869
2022
12.33%
688,304
14,441
34,409
1,043
12,370
321,477
304,565
2021
4.58%
579,438
10,997
20,172
950
12,022
272,631
262,666
2020
11.77%
511,987
---
---
933
13,463
250,174
247,416
2019
התשואה הממוצעת בענף קופות גמל
-6.66%
ב- 12 חודשים האחרונים עמדה על

相关问题