小编Aar*_*Cao的帖子

通过部分 href 查找元素 (Python Selenium)

我正在尝试从具有不同 xpath 但跨 Web 数据库中多个页面的非常可预测的 href 方案的元素访问文本。这里有些例子:

<a href="/mathscinet/search/mscdoc.html?code=65J22,(35R30,47A52,65J20,65R30,90C30)">
65J22 (35R30 47A52 65J20 65R30 90C30) </a>
Run Code Online (Sandbox Code Playgroud)

在此示例中,我想提取“65J22 (35R30 47A52 65J20 65R30 90C30)”

<a href="/mathscinet/search/mscdoc.html?code=05C80,(05C15)">
05C80 (05C15) </a>
Run Code Online (Sandbox Code Playgroud)

在此示例中,我想提取“05C80 (05C15)”。由于我所需元素的 xpath 在页面之间发生变化,我的网络抓取工具无法直接通过 xpath 进行搜索,因此我正在寻找一种更迂回的方法。

我的主要想法是利用每个 href 都包含“/mathscinet/search/mscdoc.html?code=”这一事实。Selenium 无法直接搜索 href,但我正在考虑做一些类似于此C# 实现的事情:

Driver.Instance.FindElement(By.XPath("//a[contains(@href, 'long')]"))
Run Code Online (Sandbox Code Playgroud)

要将其移植到 python,我能想到的唯一类似方法是使用in运算符,但我不确定当所有内容都嵌套在 find_element_by_xpath 中时语法将如何工作。我如何将所有这些想法结合在一起以获得我想要的文本?

driver.find_element_by_xpath("//a['/mathscinet/search/mscdoc.html?code=' in @href]").text
Run Code Online (Sandbox Code Playgroud)

html python selenium python-3.x selenium-webdriver

3
推荐指数
1
解决办法
7363
查看次数

标签 统计

html ×1

python ×1

python-3.x ×1

selenium ×1

selenium-webdriver ×1