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

如何通过python webdriver查找父元素?

朱刚捷
2023-03-14
问题内容

python + selenium是否有任何方法可以找到父元素,兄弟元素或子元素,就像

driver.find_element_parent?
driver.find_element_next?
driver.find_element_previous

例如:

<tr>
  <td> 
     <select>
        <option value=0, selected='selected'> </option> 
        <option value=1, > </option>
        <option value=2,> </option>
     </select>
   </td>
   <td> 'abcd'
     <input name='A'> </input>
    <td>
<tr>

我已经尝试过如下操作,但是失败了:

input_el=driver.find_element_by_name('A')
td_p_input=find_element_by_xpath('ancestor::input')

如何 获取输入元素的父级, 然后最终 选择选项


问题答案:

您可以使用..xpath 找到一个父元素:

input_el = driver.find_element_by_name('A')
td_p_input = input_el.find_element_by_xpath('..')

为获得选择的选项制作一个单独的xpath怎么样,像这样:

selected_option = driver.find_element_by_xpath('//option[@selected="selected"]')


 类似资料:
  • 问题内容: 以下定位技术之间有什么区别? 而且,从 性能角度来看 ,哪种方法是通过id定位元素的最快方法? 问题答案: 您的问题很难回答,肯定会给出一个结论性的答案。实际上,我很想将此问题标记为“太宽泛”,其他答案和评论也支持该问题。 以您的为例。纵观Selenium来源, 大多数 驱动程序只是获取您提供的ID,然后将其传递给有线协议: 如您所知,每个浏览器供应商都在单独的二进制文件中实现自己的有

  • 请帮助我,我正在尝试选择一个图片,这是一个链接(一个网站上的培训师) 这是我的代码:

  • 问题内容: 工作代码1: 工作代码2: 问题答案: 初始选择器的问题是缺少选择器的前面。在告诉XPath来搜索整个HTML树。 这应该可以解决问题: 如果要查找元素的子代,请改用,例如 如果要查找包含 文本 而不是href属性的链接,则可以使用

  • 问题内容: 我有一个只具有href值作为属性的锚标记的href值。现在,我想在页面中找到与我的href值具有相同值的元素,然后单击它。我找不到使用标准selenium方法执行此操作的任何方法。如何执行此操作?基本上,这些是我找到的功能,但似乎无法使用其中任何一个: 问题答案: 您可以使用find_element_by_xpath功能。

  • 问题内容: 在我的网页中,有一个名为的。 我如何找到它? 问题答案: 此选择器应该可以工作,但是如果您用合适的标记替换它,效率会更高: 或者,由于我们知道所搜索的元素是: 但是,因为这也可以匹配诸如或的情况,所以注释中提供的@Tomalak版本 更好 : 如果您真的想确定它可以正确匹配,则还可以使用normalize-space函数清除类名周围的杂散空格字符(如@Terry所述): 请注意,在所有

  • 我是DOM查询的新手,我想知道是否可以通过Xpath直接查询DOM元素,类似于下面提到的代码? 谢谢