<a> 没有 href,无法点击或获取信息

问题描述 投票:0回答:1

我正在尝试使用 Python/Selenium 来迭代并从网站中提取日历约会信息。

在网页上,单击此按钮会出现一个弹出窗口,其中包含日历约会详细信息:

<a class="fc-timegrid-event fc-v-event fc-event fc-event-draggable fc-event-start fc-event-end fc-event-future fc-event-future fc-event-show" tabindex="0" data-calendar-event-1856361581="" data-test-appointment-event="">

我正在尝试使用 Python 来显示该弹出窗口,或者捕获信息

data-calendar-event-1856361581=""

即使没有出现弹出窗口,我也可以从

<a>
属性之一获取我需要的内容(至少我认为这是一个属性?):
data-calendar-event-1856361581=""
该值的
1856361581
部分是约会 ID,并且是我创建 URL 以使浮出控件显示所需的全部内容,但我无法找到任何方法来捕获
data-calendar-event-1856361581=""
信息。日历上的每个约会在
data-calendar-event
中都有自己唯一的约会 ID,我正在循环访问所有约会。

我可以通过 XPATH 找到上述元素,但是

.click
不会使弹出窗口出现:

appt_path = 'appt_path = '//table/tbody/tr/td/div/div[2]/div[1]/a''
appt = driver.find_element(By.XPATH, appt_path)
appt.click

我尝试了以下方法来尝试查找

data-calendar-event-1856361581="
的任何内容,但到目前为止我无法在任何地方找到它:

print(appt.get_property('attributes')[0])
print(appt.get_attribute('class'))

任何有关使弹出窗口出现或捕获

data-calendar-event-1856361581=""
的帮助将不胜感激。谢谢!

python selenium-webdriver click href
1个回答
0
投票

给定 HTML:

<a class="fc-timegrid-event fc-v-event fc-event fc-event-draggable fc-event-start fc-event-end fc-event-future fc-event-future fc-event-show" tabindex="0" data-calendar-event-1856361581="" data-test-appointment-event="">

要提取属性名称

data-calendar-event-1856361581
,您可以使用
get_attribute()
方法,如下所示:

print(driver.find_element(By.XPATH, '//table/tbody/tr/td/div/div[2]/div[1]/a').get_attribute("outerHTML").replace("=", " ").split(" ")[13])

概念证明

代码:

outerHTML = '''<a class="fc-timegrid-event fc-v-event fc-event fc-event-draggable fc-event-start fc-event-end fc-event-future fc-event-future fc-event-show" tabindex="0" data-calendar-event-1856361581="" data-test-appointment-event="">'''
print(outerHTML.replace("=", " ").split(" ")[13])

输出:

data-calendar-event-1856361581
© www.soinside.com 2019 - 2024. All rights reserved.