Как закрыть окно, используя селен в Python с HTML следующим образом - PullRequest
0 голосов
/ 02 ноября 2018

Я использую селен в python, чтобы попытаться закрыть окно, но кнопка закрытия имеет html следующим образом, так что мой драйвер выберет, чтобы закрыть его?

<div class="close-button-container"><a href="#0" class="overlay-panel-close fg-close-tab-gtm">Close</a></div>

Ответы [ 2 ]

0 голосов
/ 02 ноября 2018

Требуемый элемент находится в пределах Панели наложения , поэтому вам нужно настроить WebDriverWait , чтобы требуемый элемент был кликабельным , и вы можете использовать любой из следующих решения:

  • LINK_TEXT:

    WebDriverWait(driver, 20).until(EC.element_to_be_clickable((By.LINK_TEXT, "Close"))).click()
    
  • CSS_SELECTOR

    WebDriverWait(driver, 20).until(EC.element_to_be_clickable((By.CSS_SELECTOR, "div.close-button-container>a.overlay-panel-close.fg-close-tab-gtm"))).click()
    
  • XPATH

    WebDriverWait(driver, 20).until(EC.element_to_be_clickable((By.XPATH, "//a[@class='overlay-panel-close fg-close-tab-gtm' and contains(.,'Close')]"))).click()
    
0 голосов
/ 02 ноября 2018

Попробуйте это ..

from selenium import webdriver
driver = webdriver.Firefox()
driver.get("your_link")
elem = driver.find_element_by_xpath("//a[@class='overlay-panel-close fg-close-tab-gtm']")
elem.click()
...