当前位置: 首页 > 知识库问答 >
问题:

无法单击iframe-selenium中的xpath元素

公孙霖
2023-03-14

我知道我必须切换到一个iframe当我想要点击和元素在它里面。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>

我使用driver.switch_to.frame(driver.find_element_by_class_name(“tool_launch”))切换到它

然后,我尝试单击Iframe中的“Join”按钮,使用它的XPath:

driver.find_element_by_xpath("/html/body/div[1]/div/div/div[2]/div/div/div[3]/div[1]/div[2]/div/div/div/div/div/div/div/div/div/div/table/tbody/tr/td[4]/div/div[1]/a").click()
<a target="_blank" href="/lti/rich/j/96494344321?oauth_consumer_key=AAPUZMZcQCSN85nnG74vOQ&amp;lti_scid=ee49a632bee823b3046456c29c5eb4064ee1e3790f433af82bebaf2752bde531" class="ant-btn ant-table-span" style=""> Join</a>

在一张桌子里面。

我可以选择“以前的会议”选项卡,但不能使用加入或邀请按钮。

这两个图像只是一个接着一个。

共有1个答案

党航
2023-03-14

尝试等待并单击元素。尽量不要使用XPath。

elem=WebDriverWait(driver, 10).until(EC.element_to_be_clickable((By.CSS_SELECTOR, "a.ant-btn.ant-table-span")))
elem.click()

导入

from selenium.webdriver.common.by import By
from selenium.webdriver.support.ui import WebDriverWait 
from selenium.webdriver.support import expected_conditions as EC
 类似资料:
  • 我正在学习使用Java和Eclipse IDE的Selenium测试自动化。我正在尝试开发自己的XPAHT,但我在浏览器上安装了Chropath来帮助解决我自己无法解决的问题。在尝试与play按钮交互时,我遇到了以下问题几次。测试的目标是导航到网站的播客页面,选择一个播客,点击播放按钮。我尝试开发自己的xpath,但没有找到任何工作的xpath。我检查了Chropath插件,得到了这样的消息: 它

  • 我用selenium加载一个页面:http://www.legorafi.fr/接下来,我尝试单击“Tout Accepter”按钮,但即使使用css选择器,它也不起作用。是给饼干的。 我试过这样的方法: 这是带有文本“Tout Accepter”的蓝色按钮 我该怎么办?

  • 我对selenium的第一个测试是单击网站上的按钮。我需要点击的第一个按钮是“是的,你可以使用cookies”——网站弹出窗口中的按钮。但似乎selenium并没有找到那个按钮,即使我添加了一条等待线。我也尝试了弹出窗口中的其他按钮,但是我的元素找不到任何一个可以点击的按钮。元素在iframe中,所以我想我必须更改为它,但似乎我做错了什么。 这就产生了错误 如果我尝试在更改为iframe后直接单击

  • 我尝试了xpath和检查,如下所示

  • 如何使用selenium Python从主机A(在本例中为jsfiddle.net)单击此处的红色按钮?(java脚本限制策略错误,不让我去做)。我也不想直接点击红色按钮。谢了。

  • 我们已经更新到最新的Selenium版本3.141.59并且发现点击不起作用。我没有得到一个错误消息,表明单击失败,并移动到下一个函数或行。我已经验证了它在Chrome、Firefox和Edge上不起作用。我们的代码是用Java编写的。 在单击元素之前添加等待时间 操作 JavaScriptExecutor 如有任何帮助,我们将不胜感激!