我正在尝试从this website called Anhembi抓取数据
但是当我尝试使用硒中的所有选项来查找元素时,我什么也没得到。有人知道为什么会这样吗?
我已经尝试过:
DECLARE table_cursor CURSOR LOCAL FAST_FORWARD FOR
SELECT
C.TABLE_SCHEMA,
c.TABLE_NAME,
c.COLUMN_NAME
FROM INFORMATION_SCHEMA.COLUMNS c
JOIN sys.objects o
ON o.name = c.TABLE_NAME
WHERE o.type = 'U'
AND C.DATA_TYPE = 'Datetime'
DECLARE @schema SYSNAME
DECLARE @table SYSNAME
DECLARE @column SYSNAME
DECLARE @sql NVARCHAR(1000)
CREATE TABLE #Data (SchemaName SYSNAME, TableName SYSNAME, ColumnName SYSNAME, MaxDate DATETIME)
OPEN table_cursor
FETCH NEXT FROM table_cursor INTO @schema, @table, @column
WHILE @@FETCH_STATUS = 0
BEGIN
SET @sql = 'INSERT INTO #Data (SchemaName, TableName, ColumnName, MaxDate) SELECT '''+@schema+''', '''+@table+''', '''+@column+''', MAX(['+@column+']) FROM ['+@schema+'].['+@table+']'
EXEC sp_executesql @sql
FETCH NEXT FROM table_cursor INTO @schema, @table, @column
END
CLOSE table_cursor
DEALLOCATE table_cursor
SELECT * FROM #Data
DROP TABLE #Data
通过该操作创建了一个driver.find_element_by_xpath('//*[@class="agenda_result_laco_box"]')
,以单击每一个,并获取我需要的信息,其中包括日期,网站和活动名称。我该怎么办?
答案 0 :(得分:1)
很显然,其中涉及一个 iframe ,您需要切换Web驱动程序的焦点才能与iframe/frameset/frame
中的元素进行交互。
您可以尝试使用此代码:
driver.get("http://www.anhembi.com.br/agenda/")
driver.switch_to.frame(driver.find_element_by_css_selector("iframe[src='http://intranet.spturis.com.br/intranet/modulos/booking/anhembisite_busca.php']"))
all_data = driver.find_elements_by_css_selector("div.agenda_result_laco_box")
print(len(all_data))
for data in all_data:
print(data.text)