gpt4 book ai didi

selenium - 如何在 iframe 中使用 XPATH?

转载 作者:行者123 更新时间:2023-12-03 17:29:54 25 4
gpt4 key购买 nike

我试图在名为“gadget_6”called "gadget_6" 的 iframe 中获取 XPATH

我需要选择 div 的 xpath。使用 Selenium 我做:

self.change_frame('__gadget_6') #Change to the correct iframe

之后,我尝试做:
self.selec_orgvdc = self.driver.find_element(By.XPATH,'/html/body/div[5]/div/div/div/table/tbody/tr/td/div')

为后面做:
self.selec_orgvdc.click

但我得到错误:
InvalidSelectorException: Message: invalid selector: Unable to locate an element with the xpath expression /html/body/div[5]/div/div/div/table/tbody/tr/td/div because of the following error:
SyntaxError: Failed to execute 'evaluate' on 'Document': The string '/html/body/div[5]/div/div/div/table/tbody/tr/td/div' is not a valid XPath expression.

有人可以帮助我吗?

新修改:
self.change_frame('__gadget_6')
time.sleep(4)
self.logger.info("Buscando orgvdc")
#self.selec_orgvdc = self.driver.find_element(By.CSS_SELECTOR,'div.GN4Y2ATIMD table div.gwt-Label')
self.selec_orgvdc = self.driver.find_element(By.XPATH,'//div[5]/div/div/div/table/tbody/tr/td/div')
self.logger.info("Encontrado!")

最佳答案

嗨,要在 iframe 中使用 xpath,首先您必须将驱动程序实例与 iframe 相匹配,然后只有您可以执行任何操作

1.To switch to an iframe plz do it like : driver.switchTo().frame("selfservice");

还查看您的源代码,我可以清楚地看到有 2(两个)i 帧

1.iframe id = __gadget_6
2.iframe id = 自助服务

因此我可以猜到为什么它在你的情况下不起作用,因为你正在切换到错误的 i 框架

现在试试这个 xpath //*[@class='GN4Y2ATIMD']/div/div/div/table/tbody/tr/td/div执行点击这肯定会奏效。

关于selenium - 如何在 iframe 中使用 XPATH?,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/37568726/

25 4 0
Copyright 2021 - 2024 cfsdn All Rights Reserved 蜀ICP备2022000587号
广告合作:1813099741@qq.com 6ren.com