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

没有这样的元素:找不到元素:

宇文弘懿
2023-03-14
import time
from selenium import webdriver
driver = webdriver.Chrome()
driver.get(html_page)
driver.find_element_by_xpath("""//*[@id="bv-hero-ALL-LIFE-INSURANCE"]/span[2]/span[2]""").click()
driver.implicitly_wait(20)
reviews_list = driver.find_elements_by_css_selector('bv-content-item bv-content-top-review bv-content-review')
author = ''
summary = ''
product_family = ''

for div in driver.find_element_by_xpath('//*[@id="BVRRContainer"]/div/div/div/div/ol'):
    try:
        author = div.find_element_by_xpath('//*[@id="BVRRContainer"]/div/div/div/div/ol/li[1]/div[2]/div[1]/div/div[1]/div/div[1]/div/div/div/h3').text
        summary = div.find_element_by_xpath('//*[@id="BVRRContainer"]/div/div/div/div/ol/li[1]/div[2]/div[1]/div/div[2]/div/div/div[1]/p/text()').text
        product_family = div.find_element_by_xpath('//*[@id="BVRRContainer"]/div/div/div/div/ol/li[1]/div[2]/div[1]/div/div[2]/div/div/div[2]/div[3]/div/span/a').text
    except Exception:
        print(Exception)

if author and summary and product_family:
            single_item_info = {
                'author': author.encode('UTF-8'),
                'summary': summary.encode('UTF-8'),
                'insurance type': product_family.encode('UTF-8')
            }
            print(single_item_info)

driver.quit()
selenium.common.exceptions.NoSuchElementException: Message: no such element: Unable to locate element: {"method":"xpath","selector":"//*[@id="BVRRContainer"]/div/div/div/div/ol"}
  (Session info: chrome=57.0.2987.133)
  (Driver info: chromedriver=2.29.461591 (62ebf098771772160f391d75e589dc567915b233),platform=Windows NT 6.3.9600 x86_64)

共有1个答案

谷出野
2023-03-14

id=bvrrcontainerdiv元素位于索引为0的iframe中。您需要将Selenium的焦点切换到此iframe,然后它才能够识别审阅评级。

若要将焦点切换到此iframe,请在for循环之前执行此操作

driver.switch_to_frame(0)

 类似资料:
  • 我是硒的新手,请帮帮我。整个代码: 如何为以粗体突出显示的元素选择xpath?我试过很多例子,但不幸的是没有一个像预期的那样有效。任何帮助都会很好。

  • “进入库存警报”对象 我不想单击“添加到购物车”。我只想把定位器信息存储在WebElement“AddToCart”中。因为对象具有非常相同的属性,所以我选择了这个唯一的属性“data-tl-id”,但没有起作用。 Web驱动程序 我得到错误“no such element:Unable to locate element:”。如何定位“添加到购物车”对象?

  • 我有一个基类,在其中我将webDriver定义为(使用Guice)。这定义了我的beforeclass以及下面的代码行 我有另一个类在beforesuite之后执行,它有一个method1,我在其中为给定函数编写了测试。看起来是这样的 我尝试在click语句上方添加以下行: log.info(webdriver.findelement(by.xpath(Element1)).getAttribut

  • 目前,我正在与Selenium合作,尝试使用Chrome中的“Inspect”正确识别元素。在某些情况下,我单击的某些按钮仅由类定义,但使用“”驱动程序无法找到某些类。find_element_by_class_name''。 下面是我从Chrome上用Inspect获得的代码的和平: 我需要单击“导入费用”按钮,该按钮是“x-btn文本menu_import2”类的一部分。我不能在这里使用XPA

  • 问题内容: 所以这是我的代码: 由于某种原因,我收到了No Such Element Exception 我不确定为什么。基本上我的程序正在搜索两个文本文件-armour.txt和TreasureClassEx.txt。getTreasureClass从怪物那里获得一个宝藏类,并在txt中搜索,直到到达基础装甲项目(不以tc:开头的字符串。)然后,它在getArmor中搜索与所获得的基础装甲名称相

  • 我对简单点击按钮有问题。它的按钮是CSS。 我想执行点击操作,我使用以下代码: 我得到错误: 为什么我会犯这个错误?它应该工作得很好。此按钮位于Web的底部。也许我应该向下滚动一页?