我尝试使用Selenium和定位器基于已经给定的元素选择一个元素,但是我尝试加快这个过程,在这种情况下XPath并不能真正帮助我。你知道吗
这是我正在使用的HTML的结构。你知道吗
<div class="inner-article">
<h1>
<a class="name-link">
Text 1
</a>
</h1>
<p>
<a class="name-link">
Text 2
</a>
</p>
</div>
现在,我用这些XPath来查找文本1和文本2
text1 = driver.find_element_by_xpath("//a[contains(., 'Text 1')]")
text2 = driver.find_element_by_xpath("//a[contains(., 'Text 1')]/parent::h1/following-sibling::p/a[contains(., 'Text 2')]")
由于XPath有一个明显的延迟,我想知道是否有可能使用一个不同的、比XPath快得多的定位器。我真的想不出什么,因为CSS选择器不是一个选项,我也想不出一种使用其他选择器的方法。你知道吗
由于文本为文本1的
<a>
节点始终位于父节点<div class="inner-article">
和父节点<h1>
内,而文本为文本2的<a>
节点始终位于父节点<div class="inner-article">
和父节点<p>
内,因此可以使用以下任一解决方案:xpath
对于文本1:xpath
对于文本2:xpath
对于文本2:xpath
对于文本1和文本2(wrt Text 1):只需找到该x路径的索引号并加1即可得到下一个相邻的xpath元素。你知道吗
相关问题 更多 >
编程相关推荐