繁体   English   中英

通过click()找到超链接后如何使用find_element

[英]how to use find_element after finding the hyperlink through click()

我用了

continue_link=driver.find_elements_by_partial_link_text("contract")

获取链接列表。 如何在已有的Web元素上应用find_elements?

以及如何在网页上返回字符串? find_element可以做到吗?

例如:

      <div class="article-detail-text">
         <h1>notice</h1>
         <p class="article-date">release date:2019-05-22</p>

       <p>hi:<br />
  I like basketball and football.<br />
  I like cooking.<br />
  Thanks.</p>

我想返回:“我喜欢篮球和橄榄球。我喜欢烹饪。谢谢。”

WebElement也具有find_elements()函数

continue_link = driver.find_elements_by_partial_link_text("contract")
for link in continue_link:
    elements = link.find_elements_by_partial_link_text('')

并获得特定的子字符串,你可以做

s1 = 'I like basketball and football'
s2 = 'like'

result = s1[s1.index(s2) + len(s2):]

我相信与您提供的HTML代码段相匹配的正确XPath表达式将类似于:

//div[@class='article-detail-text']/descendant::p[contains(text(),'hi')]

找到相关的<div>标记后,您将可以使用innerText属性获取后代 <p>标记的文本。

print(driver
      .find_element_by_xpath("//div[@class='article-detail-text']/descendant::p[contains(text(),'hi')]")
      .get_attribute("innerText"))

演示:

在此处输入图片说明

要返回文字, I like basketball and football. I like cooking. Thanks. I like basketball and football. I like cooking. Thanks. 您可以尝试以下选项。

print(' '.join(driver.find_element_by_xpath("//p[contains(.,'hi:')]").text.split('hi:')[1].splitlines()))

这将打印:

I like basketball and football. I like cooking. Thanks.

暂无
暂无

声明:本站的技术帖子网页,遵循CC BY-SA 4.0协议,如果您需要转载,请注明本站网址或者原文地址。任何问题请咨询:yoyou2525@163.com.

 
粤ICP备18138465号  © 2020-2024 STACKOOM.COM