在页面上查找文本的部分内容,然后返回该部分的全部内容<;部门>;在Python中使用Selenium
我一直在为如何做到这一点而奋斗 我需要Selenium在页面上查找文本的部分内容,并提供完整内容 我的页面上的某个地方写着“http://some.website/r@nd0mlyg3neratedt3xt”。我们假设“r@nd0mlyg3neratedt3xt“正在不断地更改为其他名称,但一次页面上的实例不会超过一个 所以我会找一些类似于“http://some.website/,它将找到页面上存在的位置,然后返回http://some.website/r@nd0mlyg3neratedt3xt”。我要查找的文本将是在页面上查找文本的部分内容,然后返回该部分的全部内容<;部门>;在Python中使用Selenium,python,selenium,selenium-webdriver,Python,Selenium,Selenium Webdriver,我一直在为如何做到这一点而奋斗 我需要Selenium在页面上查找文本的部分内容,并提供完整内容 我的页面上的某个地方写着“http://some.website/r@nd0mlyg3neratedt3xt”。我们假设“r@nd0mlyg3neratedt3xt“正在不断地更改为其他名称,但一次页面上的实例不会超过一个 所以我会找一些类似于“http://some.website/,它将找到页面上存在的位置,然后返回http://some.website/r@nd0mlyg3neratedt3x
的全部内容
我唯一能想到的方法是找到文本,检查它所在的
的ID,返回ID,然后使用ID返回文本。但我不知道如何获取部分文本位置的ID
编辑:我还应该指出,ID是随机生成的。所以没什么好抓的
以下是我在页面中看到的内容:
<div id="yxi_350111162360070455_2385" class="link wx-label"><span>http://some.website/r@nd0mlyg3neratedt3xt</span></div>
http://some.website/r@ND0MLYG3生成的T3XT
我想基本上得到那个链接。有些网站永远不会改变,但最后的角色会改变
编辑:清晰,删除Hello My Name Is部分,并直接引用css。假设您知道一个选择器,该选择器足够具体,可以返回至少一个匹配元素列表(例如,如示例中名为“wx label”的类),其中一个包含您要查找的文本,您可以执行以下操作以获取正确元素的全文:
driver.find_elements_by_xpath('//div[@class="ink wx-label"]/span[contains(text(), "http://some.website"]')
#### Assume driver is your webdriver instance
text = 'http://some.website'
elements = driver.find_elements_by_class('wx-label')
for element in elements:
if text in element.text:
print element.text
你能添加html吗?只是为了清晰起见添加了更多的信息编辑“r@nd0mlyg3neratedt3xt“这是按钮、链接还是其他东西?在“抱歉,我试图给出一个更简单的例子,但随后只是跟进实际情况。这实际上似乎不起作用。无论我用什么替换文本,它始终不返回任何内容。我实际上在寻找的是:”--但我只想根据“some.website”找到它,现在尝试一下