browser = webdriver.Firefox()
browser.get("http://www.example.com/admin/orders")
total_images = len(browser.find_elements_by_xpath('/html/body/div[5]/div[3]/div[1]/div[3]/div[4]/form[1]//img'))
for i in range(1,total_images):
compiledData['item_url'] = browser.find_elements_by_xpath(browser.xpath('/html/body/div[5]/div[3]/div[1]/div[3]/div[4]/form[1]//img[')+str(']'))
Теперь мне нужен фактический путь элемента. Как вы можете видеть, я просматриваю диапазон изображений в динамическом коде xpath. Теперь, если я нахожусь в петле, и там мне нужно точное xpath
этого тока динамически идентифицированного изображения xpath
Selenium Python Поиск фактического xPath текущего узла в цикле
Например, если он работает для первого изображения, то он должен дать:
/html/body/div[5]/div[3]/div[1]/div[3]/div[4]/form[1]/img[1]
если он работает во второй раз, то:
/html/body/div[5]/div[3]/div[1]/div[3]/div[4]/form[1]/img[2]
Я хочу, чтобы извлечь это фактическоеэтого текущего узла в пределах этого цикла
Теперь что-то вроде PHP одно:
$breakup = $xpath->query('/html/body/div[5]/div[3]/div[1]/div[3]//*[text()="Package total"]');
if($breakup->length != 0)
{
$breakupPath = substr($breakup->item(0)->getNodePath(), 0, -2)."2]";
$orderData['total'] = str_replace("Rs.", "", trim($xpath->query($breakupPath)->item(0)->nodeValue));
}
Где, $breakup->item(0)->getNodePath()
дает реальную xPath
из динамически идентифицированной опции xPath
Спасибо за ответ, проверка Лемм и обновит вас. –
@DjangoAnonymous Итак, вы проверили, стоит ли этот ответ вашей щедрости? –