Python: элемент не прикреплен к странице документа - PullRequest
0 голосов
/ 06 мая 2018

Я получаю эту ошибку, и хотя я исправил ее для другого элемента, я не могу исправить ее для этого. Я думаю, это потому, что для другого элемента я мог найти find_by_ID, тогда как у этого элемента нет идентификатора.

while True:
try:
     driver.find_element_by_name('commit')
     break
except (NoSuchElementException, StaleElementReferenceException):
     time.sleep(1)
     wait=WebDriverWait(driver, 10,ignored_exceptions=ignored_exceptions).until(EC.presence_of_element_located((By.NAME, 'commit')))
driver.find_element_by_css_selector('input.button').click()

Ошибка:

selenium.common.exceptions.StaleElementReferenceException: Сообщение: ссылка на устаревший элемент: элемент не прикреплен к документу страницы

Справочная страница: http://www.supremenewyork.com/shop/shirts/go8jt7kse/f74y2ihpz

Определенный элемент HTML:

<input type="submit" name="commit" value="add to cart" class="button" />

Ответы [ 3 ]

0 голосов
/ 07 мая 2018

try:
   driver.get("http://www.supremenewyork.com/shop/shirts/m2wvkj5u6")
    time.sleep(3)
   driver.find_element_by_css_selector("#add-remove-buttons > input").click()
except:
    pass
0 голосов
/ 07 мая 2018

Прежде всего вы получаете исключение Stale Element, когда свойства элемента, над которым вы пытаетесь выполнить операцию, изменились.

Это может произойти, когда есть разница во времени с момента нахождения элемента до выполнения операции.

попробуйте использовать Xpath вместо CSS

driver.findElement(By.Xpath("//input[.='add to cart']")).click();

Дайте мне знать, если это работает

0 голосов
/ 06 мая 2018

Работает

try:
   driver.get("http://www.supremenewyork.com/shop/shirts/m2wvkj5u6")
    time.sleep(3)
   driver.find_element_by_css_selector("#add-remove-buttons > input").click()
except:
    pass
Добро пожаловать на сайт PullRequest, где вы можете задавать вопросы и получать ответы от других членов сообщества.
...