当前位置: 首页 > 面试题库 >

Selenium无法定位元素(Python)

池兴邦
2023-03-14
问题内容

我正在尝试搜寻房地产网站上的商品。它有一个aspx表单,必须在提交之前填写。

http://www.cbre.us/PropertyListings/Pages/Properties-for-
Sale.aspx

我只关心俄勒冈州的多户家庭财产。所以这是我的第一次尝试:

driver = webdriver.Firefox()

driver.get("http://www.cbre.us/PropertyListings/Pages/Properties-for-Sale.aspx")

#Searching for multifamily residences
selectPropertyType = driver.find_element_by_id("ForSalePropertyType")
selectPropertyType.select_by_value("70")

#In the state of Oregon
selectState = driver.find_element_by_id("ForSaleState_ListBox1")
selectState.select_by_value("OR")

#Submit form
submitBtn = driver.find_element_by_id("ForSaleLooplinkSubmit")
submitBtn.click()

#Wait for results to load
WebDriverWait(driver, 5)

当我运行此脚本时,出现错误“找不到元素“ ForSalePropertyType”。在这里我在做什么错?


问题答案:

此元素位于中iframe。您必须 切换到它的上下文

driver.switch_to.frame("ctl00_PlaceHolderMain_IFrameContent_IFrameContent")

# searching for multifamily residences
selectPropertyType = driver.find_element_by_id("ForSalePropertyType")
selectPropertyType.select_by_value("70")

返回默认上下文:

driver.switch_to.default_content()

另外,请注意免责声明/使用条款中列出的政策,尤其是:

您同意不会 :(a)冒充任何个人或实体或歪曲您与任何其他个人或实体的隶属关系;
(b)从事垃圾邮件,泛滥,收集电子邮件地址或其他个人信息,进行爬网,屏幕抓取,数据库抓取或任何其他活动,目的是获取用户列表或任何其他信息,特别是财产清单可通过网站获得;
(c)通过网站发送连锁信或传销;或(d)试图通过该站点未经授权访问其他计算机系统。您同意不会以任何可能会损坏,禁用,负担过多或损害本网站或干扰任何其他方使用和使用本网站的方式使用本网站。



 类似资料:
  • 我想在selenium中找到我的文本字段,但我不知道如何找到(我第一次使用sellenium)。 我试过: 或者通过xPath和cssSseltor String在dev工具中由chrome生成。 请帮助我,我将感谢解释。 这是html:

  • 我试图引用并单击网页上的元素。 我们应该能够使用简单的XPath进行引用。例如 然而,这似乎并不奏效。 我使用的chrome扩展表示该元素不存在。 我的代码找不到元素。 下面是我使用Selenium web驱动程序的Java代码。 以下是错误: 太奇怪了!关于为什么我不能引用元素,或者为什么xPath不exist的任何想法。

  • 我有一个粘性导航栏,它有几个列表元素,每个元素都包含href元素。当我试图定位元素时,我得到了错误。以下是我的HTML代码: 我想通过Webdriver定位Academic,我遇到这样的错误无法定位元素。

  • 你知道为什么吗?

  • 我正在尝试采取一些分数从网站,而使用WebDriver。到目前为止我尝试了XPath,CSS,Classname,但是,有时它定位项目,有时它不定位。 这是我一直试图带它的HTML代码: 这是我的代码(到目前为止我已经尝试过了): 其他版本: 并且我也尝试了子类(在score classes下),但结果是一样的,有时可以定位元素,有时不能。 有什么建议吗? 更新:在我的代码中,我放了一些或仍然不能

  • 我试图通过selenium单击save按钮,但是,我得到的错误是它无法定位元素。 这是网站的html部分 这是我得到的错误: NoSuchelementException:没有这样的元素:找不到元素:{“method”:“id”,“selector”:“divflashviewermain_savepdfbuttonicon”} (会话信息:chrome=74.0.3729.169)(驱动程序信息