Selenium: как я могу щелкнуть по ссылке, не имея идентификатора href - PullRequest
3 голосов
/ 15 мая 2019

Я пытаюсь использовать Selenium для получения цен в Google Shopping.В настоящее время я открыл Chrome, захожу в магазин Google и выполняю поиск по коду продукта, однако не могу найти способ щелкнуть по нему, так как не могу найти идентификатор для href или найти его.способ получить название продукта, чтобы я мог щелкнуть его с помощью частичного совпадения текста.

Я пытался посмотреть на других людей, имеющих похожие проблемы, но все они, кажется, находят уникальный идентификатор для ссылки, которую они 'пытается щелкнуть.

class MyDialog:
    def __init__(self, parent):

        top = self.top = Toplevel(parent)

        Label(top, text="Product EAN:").pack()

        self.e = Entry(top, cursor = "xterm", width=25)
        self.e.pack(padx=40)

        b = Button(top, text="Submit", command=self.ok, cursor = "hand2")
        b.pack(pady=5)

    def ok(self):
        driver = webdriver.Chrome()
        driver.get("http://www.google.co.uk/shopping")
        search_box = driver.find_element_by_name('q')
        search_box.send_keys(self.e.get())
        search_box.submit()

root = Tk()
d = MyDialog(root)
root.wait_window(d.top)

Возможно, есть способ взять название продукта, а затем частично сопоставить этот текст, чтобы щелкнуть вместо него, но я не уверен, как бы я поступил так же.Моя конечная цель - вычистить продавцов и их цену из Google Shopping, а затем отформатировать их и вывести в файл - я пробовал другие способы сделать это, но Selenium кажется наименее сложным.

...