Если у меня есть xpath кнопки на веб-странице, как я могу поставить рамку вокруг указанного элемента c? - PullRequest
1 голос
/ 16 января 2020

У меня есть приложение python, которое извлекает HTML из активной веб-страницы и анализирует ее. Я получаю возврат xpaths для всего, что имеет href. Имеются ли xpath, которые я получаю, есть ли способ поставить рамку / границу вокруг элемента speci c, связанного с xpath?

  browser = 
    webdriver.Chrome("")



    browser.get("http://www.dominos.com")
    browser.maximize_window()
    time.sleep(10)
    soup = BeautifulSoup(browser.page_source, 'lxml')





    tags = soup.find_all('a')
    check = soup.find('Delivery')
    print(check)
    href_set = []



    for tag in tags:

        xpath = xpath_soup(tag)
        href_set.append([tag.get('href'),tag.getText(), xpath])



    for i in range(len(href_set)):
        print(href_set[i])




    browser.close()

1 Ответ

2 голосов
/ 16 января 2020

Вы можете использовать browser.execute_script() для выполнения функции javascript, чтобы добавить красное поле вокруг того, что вы ищете. Я предполагаю, что у вас есть некоторые настройки селена вне кода, которым вы поделились.

browser = webdriver.Chrome()
browser.get("http://www.dominos.com")
browser.maximize_window()
someelement = browser.find_element_by_xpath("/html[1]/body[1]/div[3]/div[2]/main[1]/section[1]/div[1]/div[2]/a[2]")
red_border = "border: 2px solid red;"
browser.execute_script("arguments[0].setAttribute('style', arguments[1]);", someelement , red_border )
time.sleep(10)
soup = BeautifulSoup(browser.page_source, 'lxml')
tags = soup.find_all('a')
check = soup.find('Delivery')
print(check)
href_set = []
for tag in tags:
    xpath = xpath_soup(tag)
    href_set.append([tag.get('href'),tag.getText(), xpath])
for i in range(len(href_set)):
    print(href_set[i])
browser.close()
...