目前我正在尝试在网站上找到一个可以通过其内部html识别的元素。找到这个项目后,我需要找到它的父母和一个孩子。
以下是示例,我需要使用不同的内容填充textarea
,我找到正确的textarea
的唯一方法是找到所需的td
,可以通过其识别innerHTML
<tr>
<td class="alignRight"> 1 </td>
<textarea></textarea>
</tr>
<tr>
<td class="alignRight"> 2 </td>
<textarea></textarea>
</tr>
<tr>
<td class="alignRight"> 3 </td>
<textarea></textarea>
</tr>
<tr>
<td class="alignRight"> 4 </td>
<textarea></textarea>
</tr>
我尝试了一些解决方案,但到目前为止没有结果,我得到的最接近的是:
elem = driver.find_element_by_css_selector('td.alignRight').get_attribute('innerHTML')
print (elem, type(elem))
这里的问题是它只找到第一个元素。最好的事情是如果我能直接找到元素WHERE innterHTML = Value
答案 0 :(得分:1)
尝试使用以下代码,通过前面的兄弟texarea
与特定td
获取所需的value
:
value = "1"
driver.find_element_by_xpath("//td[.='%s']/following-sibling::textarea" % value)
答案 1 :(得分:0)
我不熟悉python
,但我可以解释逻辑: -
tagname
我尝试编写代码,语法可能不正确。
value="what ever value you want to provide[1,2,]"
requiredXpath=".//td[@class='alignRight' and text()="+value+"]"
elem = driver.find_element_by_xpath(requiredXpath).find_element_by_xpath("..").find_element_by_tag_name("textarea)