【发布时间】:2020-09-28 05:12:52
【问题描述】:
以下内容嵌入到网页中。它不是实际站点的一部分:
我一直在尝试做的是选择“以前的会议”选项卡,在 Python 中使用 Selenium。
这些是两个按钮(即将召开的会议和上一次会议)的元素:
<div role="tab" aria-disabled="false" aria-selected="true" class="ant-tabs-tab-active ant-tabs-tab" tabindex="0" aria-label="Upcoming Meetings">Upcoming Meetings</div>
::before
Upcoming Meetings
</div>
<div role="tab" aria-disabled="false" aria-selected="false" class=" ant-tabs-tab" aria-label="Previous Meetings">Previous Meetings</div>
::before
Previous Meetings
</div>
我试过driver.find_element_by_xpath('//*[@class=" ant-tabs-tab"]').click(),但没有检测到元素。
当我查看网页的实际源代码时,这些 Zoom 元素并没有出现,所以我认为这也是 Selenium 无法识别的原因。
它没有 ID 或其他任何东西,所以我无法尝试。我有什么可以做的吗? (例如,只需点击屏幕上的一个位置)
还是我做错了什么?
好像是一个iframe,以
开头<iframe src="about:blank" name="tool_content" id="tool_content" class="tool_launch" allowfullscreen="allowfullscreen" webkitallowfullscreen="true" mozallowfullscreen="true" tabindex="0" title="Tool Content" style="height:100%;width:100%;" allow="geolocation *; microphone *; camera *; midi *; encrypted-media *; autoplay *" data-lti-launch="true"></iframe>
如果有帮助的话。
更新:
我尝试使用 Firefox 的扩展,它为您提供了元素的 exact xpath:
driver.find_element_by_xpath('/html/body/div[1]/div/div/div[2]/div/div/div[1]/div[1]/div/div/div/div[1]/div[2]').click()
这仍然不起作用 - 怎么会??
【问题讨论】:
-
尝试使用 CSS 选择器“div.ant-tabs-tab-active.ant-tabs-tab”。你的课程也不正确。
-
@arundeepchohan 那么这条线会变成这样吗?
driver.find_element_by_css_selector('div.ant-tabs-tab-active.ant-tabs-tab').click()抱歉,我之前没用过css选择器。 -
这就是它的样子。
-
页面源中有没有类似 iframe 的东西?
-
driver.switch_to.frame("tool_content")
标签: python html python-3.x selenium element