我正在尝试使用Selenium(版本2.28.0)在子元素中搜索元素,但是selenium
des似乎并不将其搜索限制在子元素中。我做错了吗,还是有一种方法可以使用element.find搜索子元素?
例如,我使用以下代码创建了一个简单的测试网页:
<!DOCTYPE html>
<html>
<body>
<div class=div title=div1>
<h1>My First Heading</h1>
<p class='test'>My first paragraph.</p>
</div>
<div class=div title=div2>
<h1>My Second Heading</h1>
<p class='test'>My second paragraph.</p>
</div>
<div class=div title=div3>
<h1>My Third Heading</h1>
<p class='test'>My third paragraph.</p>
</div>
</body>
</html>
我的python(2.6版)代码如下所示:
from selenium import webdriver
driver = webdriver.Firefox()
# Open the test page with this instance of Firefox
# element2 gets the second division as a web element
element2 = driver.find_element_by_xpath("//div[@title="div2"]")
# Search second division for a paragraph with a class of 'test' and print the content
print element2.find_element_by_xpath("//p[@class='test']").text
# expected output: "My second paragraph."
# actual output: "My first paragraph."
如果我运行:
print element2.get_attribute('innerHTML')
它从第二部分返回html。因此,selenium的搜索范围并不限于element2。
我希望能够找到element2的一个子元素。这篇文章建议我的代码应该可以使用Selenium
WebDriver访问子元素,但是他的问题是由超时问题引起的。
谁能帮我了解这里发生了什么?
当您使用来启动XPath表达式时//
,它会从文档的根目录开始搜索,而忽略您的父元素。您应该在表达式之前加上.
element2 = driver.find_element_by_xpath("//div[@title="div2"]")
element2.find_element_by_xpath(".//p[@class='test']").text
我正在尝试搜索带有Selenium(版本2.28.0)的子元素中的一个元素,但是Selenium des似乎没有将其搜索限制在子元素中。是我这样做错了,还是有办法使用Element.find搜索子元素? 对于一个示例,我使用以下代码创建了一个简单的测试网页: 我的python(2.6版)代码如下所示: 如果我跑: 它返回来自第二部分的html。所以硒并不局限于元素2。 我希望能够找到Element
我不能得到子元素。 我可以用appium inspector看到childNameTV元素下的childNameLabel元素 例如,我尝试查找第一个子元素的文本;
问题内容: 量角器1.7.0引入了一项新功能:新的定位器,可帮助您在 影子DOM中 查找元素。 它涵盖哪些用例?您什么时候想要到达影子DOM中的元素? 我问这个问题的原因是,我在事情的动机部分上不见了- 我想到量角器主要是作为一个有助于模仿实际用户交互的高级框架。访问影子树听起来像是一项非常深入的技术工作,为什么您要这样做却使我感到困惑。 问题答案: 为了回答您的问题,这里有一个相关的问题:“ s
问题内容: 我的网站上有一个选择控件。我正在使用页面对象与页面进行交互。如果我这样做(在我的课程下的前两行和我的方法中) 它以空指针失败。我也尝试了没有。 现在,如果我在我的方法中执行此操作,则一切正常,然后选择正确的项目 这是该控件的实际网页摘要(已编辑以保护无辜者) 让我说我可以解决我的问题, 但是 我不明白为什么“ 正常 ”路径无法正常工作。 问题答案: 那是因为该类具有以下构造函数: 见J
问题内容: 我有一个清单“ a” 我需要找到一个特定数字的所有元组。说1 我怎么做? 问题答案: 如果只希望第一个数字匹配,则可以这样操作: 如果您仅搜索其中包含1的元组:
我很难在hashmap中的字符串数组中找到一个元素。我有一个字符串,它确实在这个String[]里面,但执行以下操作不起作用。 我的目标是在找到值的地方找到我的HashMap的对应键。 以我的地图示例为例: 如果搜索字符串,我希望有一个新的字符串数组,它将是: 我也尝试使用,但没有成功。 我做错了吗?谢谢!