Python 3.6 Selenium 如何通过父节点的引用找到子节点(xPath)

标签 python python-3.x selenium xpath selenium-chromedriver

在此处输入代码我有两个 xPath 字段。

  • 第一:

    //*[@id="app"]/div/div/div[2]/div/div[2]/div[2]/div[3]/div[1]
    
  • 第二:

    //*[@id="app"]/div/div/div[2]/div/div[2]/div[2]/div[3]/div[1]/input
    

我通过以下方式找到并修复了第一个 div:

main_field = driver.find_element_by_xpath('//[@id="app"]/div/div/div[2]/div/div[2]/div[2]/div[3]/div[1]')

有什么方法可以使用 main_field 获取/input 字段吗?我的意思是像 main_field['input'] 这样的东西。如果可能,我不想再次使用 find_element_by_xpath 函数。

提前致谢!

最佳答案

当您通过以下方式找到第一个字段时:

main_field = driver.find_element_by_xpath('//[@id="app"]/div/div/div[2]/div/div[2]/div[2]/div[3]/div[1]')

现在,ma​​in_field 有可能包含一个/多个子节点。所以要得到特定的 child <input> field 您可以使用父节点的引用,即 ma​​in_field 但您必须调用 find_element_by_*再次如下:

main_field.find_element_by_xpath('.//input')

关于Python 3.6 Selenium 如何通过父节点的引用找到子节点(xPath),我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/49653105/

相关文章:

python - 如何将 subprocess.communicate() 转换为 utf-8 字符串?

python-3.x - 如何重新采样多索引数据帧内的数据

python - 在 heroku chromedriver buildpack 上不支持 chrome buildpack

python - 如何在不失去焦点的情况下发送按键进行输入?

python - 正则表达式 - 如何匹配特定长度的一组唯一字符

python - 使 wxPanel 可由用户调整大小

python - 看似随机的 ssl.SSLError : [SSL: TLSV1_ALERT_INTERNAL_ERROR] tlsv1 alert internal error

python - 记录抽象基类的属性?

python-3.x - TensorFlow:tf.placeholder 和 tf.Variable - 为什么不需要维度?

c# - 运行我的 c# Selenium WebDriver 代码的 NUnit 错误