Недопустимая ошибка селектора при использовании CSS Selector и href - PullRequest
0 голосов
/ 10 февраля 2020

Я пытаюсь найти элемент, используя css селектор и href с партильной ссылкой, но продолжаю получать ошибку неверного селектора

Что я делаю не так?

<a href="javascript:shipdateCheck('updateShipDate',#####,'false');" class="actionlink2">
    <img src="images/save-16x16.bmp" width="12px" height="12px" alt="Update 
     Ship Date For ######" border="0">
</a>

##### - это число в виде строки, которая генерируется случайным образом.

date_save = driver.find_element_by_css_selector('a[href*="javascript:shipdateCheck("updateShipDate","]')

Ответы [ 2 ]

1 голос
/ 10 февраля 2020

У вас есть опечатка с * в href. Также, если вы не используете фактическое значение равно, вы можете использовать содержит. Если у вас есть двойные кавычки внутри двойных кавычек, вам нужно экранировать их с помощью \ ".

date_save = driver.find_element_by_css_selector('a[contains(@href, "javascript:shipdateCheck(\"updateShipDate\",")]')
0 голосов
/ 10 февраля 2020

Чтобы щелкнуть тег привязки, вызовите WebDriverWait() и element_to_be_clickable() и следующий селектор css.

WebDriverWait(driver,10).until(EC.element_to_be_clickable((By.CSS_SELECTOR,"a[href*=\"javascript:shipdateCheck('updateShipDate'\"]"))).click()

Вам необходимо импортировать следующие библиотеки.

from selenium.webdriver.support.ui import WebDriverWait
from selenium.webdriver.support import expected_conditions as EC
from selenium.webdriver.common.by import By
Добро пожаловать на сайт PullRequest, где вы можете задавать вопросы и получать ответы от других членов сообщества.
...