当html元素没有明确的id时,使用selenium和panda读取和写入文本值



我正在创建一个程序,该程序将从excel文件中读取飞机注册列表并返回飞机类型代码。

我的信息来源是FlightRadar24。(例如-https://www.flightradar24.com/data/aircraft/n502dn)我尝试检查页面上的元素以找到要调用的正确类id,并发现该id被列为";细节";当我运行代码时,它会提取带有类id/name详细信息的飞机名称,而不是类型代码。有关示例数据,请参见此处然后,我将方法改为使用XPath来查找正确的文本,但使用XPath,它会打印出来(对于Xpath,我使用浏览器插件来查找元素的确切Xpath,非常确信它是正确的。(它没有输出。在这个特定的例子中,当提取没有明确id的值时,你会有什么建议?

for i in list_regs:
driver.get('https://www.flightradar24.com/data/aircraft/'+i)
driver.implicitly_wait(3)
load = 0
while load==0:
try:
element = driver.find_element_by_xpath("/html/body/div[5]/div/section/section[2]/div[1]/div[1]/div[2]/div[2]/span")
print('element') #Printing to terminal to see if the right value is returned.

您可能应该将xpath表达式更改为:

//label[.="TYPE CODE"]/following-sibling::span[@class="details"]

print('element')

print(element)

编辑:这对我有效:

element = driver.find_element_by_xpath('//label[.="TYPE CODE"]/following-sibling::span[@class="details"]')
print(element.text)

输出:

A359

最新更新