Python:xpath无法找到元素

时间:2017-05-20 09:00:18

标签: python selenium xpath

我想通过链接获取功能公司的文本。我检查它并获取xpath但它无法找到该元素。链接始终在变化,但与Statement

结束时具有相似性

enter image description here

我想要抓取的文字会在屏幕截图中突出显示。

listedcompanies.com

错误是

from selenium import webdriver

browser = webdriver.Firefox()
browser.get("https://www.shareinvestor.com/my")
time.sleep(20)
browser.find_element_by_xpath("//*[@href='http://salcon.listedcompany.com']")

我想获取这些公司的文本

2 个答案:

答案 0 :(得分:0)

尝试使用"//a[contains(@href, 'listedcompany.com')]" XPath来匹配包含href的{​​{1}}属性的所有链接,如下所示:

"listedcompany.com"

答案 1 :(得分:0)

如果您需要Featured Companies标签下的文字,可以使用以下代码:

import requests
from parsel import Selector

url = 'https://www.shareinvestor.com/my'
r = requests.get(url)
sel = Selector(r.text)
all_text = sel.xpath('//div[@class="sic_scrollPane" and a[img]]')
for ind, text in enumerate(all_text, start=1):
    text = ''.join(text.xpath('p//text()').extract())
    print(ind, text)

它可以在不使用Selenium的情况下从该选项卡中获取所有文本。

注意:我使用基于lxml构建的Parsel库,但您可以使用bs4lxml