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

Две проблемы.

EC.element_to_be_clickable((By.css_selector, '.origin-telemetry-shell-submenu-current-area'))).click()

Эта линия, похоже, не работает. Я хочу просмотреть все эти элементы. Это дает мне:

   if ( ww > 3 ):
TypeError: '>' not supported between instances of 'NoneType' and 'int' 

И по отношению к селектору CSS

    Traceback (most recent call last):
      File "C:/Users/Bain3/PycharmProjects/untitled4/ha1.py", line 53, in <module>
        EC.element_to_be_clickable((By.css_selector, '.origin-telemetry-shell-submenu-current-area'))).click()

AttributeError: type object 'By' has no attribute 'css_selector'

Селектор Css имеет тенденцию работать в Chrome и в Css Gadget.

Я приложил изображение и мой код в textupload.

http://textuploader.com/d6hqs

https://ibb.co/b3v1U5

2
Tetora 30 Авг 2017 в 15:44

3 ответа

Лучший ответ

if (ww > 3) представляется избыточным условием. Если вы не хотите обрабатывать числа, которые меньше 3, просто попробуйте заменить

# Get list of integers [1, 2, ... n]
indexes = [index for index in range(len(options))]

С участием

# Get list of integers [3, 4, ... n]
indexes = [index for index in range(3, len(options))]

Это должно позволить вам получить список целых чисел, начиная с 3

Также, как уже упоминалось, By не имеет такого атрибута, как css_selector.

Обратите внимание, что имена переменных чувствительны к регистру в Python. Таким образом, вы можете использовать By.CSS_SELECTOR или "css_selector" вместо

1
Andersson 30 Авг 2017 в 13:59

С учетом этой документации https: //seleniumhq.github .io / селен / документы / API / JavaScript / модуль / селен WebDriver / index_exports_By.html, Класс By не содержит никакого поля или свойства css_selector, поэтому он вызывает Нет ошибки атрибута , возможно, вы ищете By.css(your_selector).

Надеюсь, это поможет.

0
Agustin 30 Авг 2017 в 12:49

Вы присваиваете ww возвращаемое значение из print(), который ничего не возвращает, поэтому ww стал None. Используйте ww = randint(0, 9).

By.css_selector должен быть By.CSS_SELECTOR, весь капитал.

2
Guy 30 Авг 2017 в 12:53