Проблема заключается в том, что Xpath запрос в FireFox-е работает нормально, а компилятор Python выдает ошибку (не нравится двойной underline “__”).
Использую: FireFox v. 28 с додатками Firebug, FirePath, Python32
Так выглядит запрос в FireFox-е:
Ошибку которую я получил:
Пример кода, который не работает
import unittest
from selenium import webdriver
class TestPriceUa(unittest.TestCase):
driver = None
def setUp(self):
self.driver = webdriver.Firefox()
self.driver.implicitly_wait(60)
def test_filter(self):
self.driver.get("http://yandex.ru")
self.driver.find_element_by_id("tab-market").click()
self.driver.find_element_by_css_selector(r'.l-categories a[href="/catalog.xml?hid=91491"]').click()
self.driver.find_element_by_css_selector(r'.black').click()
self.driver.find_element_by_id("f2142558003-1").send_keys('20000')
self.driver.find_element_by_css_selector('#f2142557926 span').click()
self.driver.find_element_by_id("f2142557926-1").send_keys('3')
self.driver.find_element_by_css_selector('#f1801946-1871375').click()
self.driver.find_element_by_css_selector('#f1801946-1871447').click()
self.driver.find_element_by_css_selector('#f1801946-1871499').click()
self.driver.find_element_by_css_selector('#f1801946-1871151').click()
self.driver.find_element_by_css_selector('#f1801946-11756910').click()
self.driver.find_element_by_css_selector(r'.b-gurufilters_submit-button').click()
#Verify that page include 10 elements
self.assertEqual(len(self.driver.find_elements_by_class_name('b-offers__info')), 10)
#Remember the first item in the list
first = self.driver.find_element_by_xpath('.//*[@class='page__b-offers__guru'] /div[1]/@id')
print(first)
#self.driver.find_element_by_xpath("html/body/div[3]/table/tbody/tr[2]/td[2]/div/ul[2]/li[4]/a").click()
#items = self.driver.find_elements_by_xpath("//a[@class='b-offers__name']")
#for list in items:
#print(list.text)
#def tearDown(self):
#self.driver.close()
if __name__ == "__main__" :
unittest.main()
И все же, как мне прописать этот xpath запрос, чтобы компилятор Python не выдал синтаксической ошибки?