#html #selenium #perl #attributes
#HTML #селен #perl #атрибуты
Вопрос:
use feature 'say';
$selen = Selenium::Remote::Driver->new;
$selen->get("http://www.google.com");
$elem = $selen->find_element('(//div[@data-responsive-height-resize])[1]');
say $elem->get_attribute('data-responsive-height-resize'); # this doesn't work
say $selen->execute_script('return arguments[0].getAttribute("data-responsive-height-resize")', $elem); # this works
Есть ли проблема Selenium::Remote::WebElement::get_attribute
в том, что он не может обрабатывать тире в имени атрибута? Или я делаю что-то не так?
Комментарии:
1. Вы пытались добавить
1
, как сказано в документации дляget_attribute
?2. Да, это сработало!
3. Полагаю, я должен добавить это в качестве ответа…
Ответ №1:
Добавление комментария в качестве ответа.
В документации к get_attribute
нему говорится, что вы можете использовать логическое значение в качестве второго аргумента
Если вы хотите получить начальное условие (например, значения в теге, жестко закодированные в HTML), передайте 1 в качестве второго аргумента.
Так что, если вы попробуете это, вы можете получить то, что хотите. (И, похоже, это сработало)