python - 在 Selenium、Python 中查找下一个兄弟特定元素?

标签 python selenium

我需要先前选择的元素的同级元素。

例如:

<div class="dt">Technology</div>
<div class="da">GSM / CDMA / HSPA / EVDO / LTE</div>
<div class="dt">Dimensions</div>
<div class="da">149.9 x 70.4 x 7.8 mm (5.90 x 2.77 x 0.31 in)</div>
<div class="dt">Weight</div>
<div class="da">157 g (5.54 oz)</div>
<div class="dt">Build</div>
<div class="da">Back glass (Gorilla Glass 5), aluminum frame    </div>
<div class="dt">Type</div>
<div class="da">Dynamic AMOLED capacitive touchscreen, 16M colors</div>
<div class="dt">SIM</div>
<div class="da">Single SIM (Nano-SIM) or Hybrid Dual SIM)</div>

假设我需要“尺寸”和类型。

代码:

dts = browser.find_elements_by_class_name("dt");
for dt in dts :

    if dt.("innerText") == "Dimensions":
        print(dt.("innerText") + "-" + dt.**FollowingSibling**())
    if dt.("innerText") == "Type":
        print(dt.("innerText") + "-" + dt.**FollowingSibling**())

预期输出:

Dimensions - 149.9 x 70.4 x 7.8 mm (5.90 x 2.77 x 0.31 in)
Type - Dynamic AMOLED capacitive touchscreen, 16M colors

最佳答案

您可以根据需要使用 text 属性或 innerText。请尝试以下代码。

for dt in dts :

    if dt.text == "Dimensions":
        print(dt.text + "-" + dt.find_element_by_xpath("./following-sibling::div").text)
    if dt.text == "Type":
        print(dt.text + "-" + dt.find_element_by_xpath("./following-sibling::div").text)

或者

dts = browser.find_elements_by_class_name("dt");
for dt in dts :

    if dt.get_attribute("innerText")== "Dimensions":
        print(dt.get_attribute("innerText") + "-" + dt.find_element_by_xpath("./following-sibling::div").text)
    if dt.get_attribute("innerText") == "Type":
        print(dt.get_attribute("innerText") + "-" + dt.find_element_by_xpath("./following-sibling::div").text)

输出:

Dimensions-149.9 x 70.4 x 7.8 mm (5.90 x 2.77 x 0.31 in)
Type-Dynamic AMOLED capacitive touchscreen, 16M colors

关于python - 在 Selenium、Python 中查找下一个兄弟特定元素?,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/56039005/

相关文章:

python - OpenCV获得ApproxPolyDP角点?

python - 随机修改数据帧值

python - 如何使用 ImageGrab.grab().load() 函数或任何其他函数来获取像素更新?

maven - 机器人框架,使用命令行标志打开浏览器以保存浏览器日志

javascript - 如何使用 Selenium 或 Protractor 获取 HTML 中嵌套元素的文本以实现自动化?

python - 如何在不压缩文件的情况下估计文件的可压缩性?

python - 使用新的观察数据更新 PyMC3 上的模型

java selenium 使用 xpath 浏览网页

selenium - Selenium 3的新功能是什么

javascript - Firefox 中的 E2E Protractor 测试显示有 8 个待定规范这是什么意思?