如果是随机数悬停元素

时间:2017-08-30 12:44:50

标签: python python-3.x selenium selenium-webdriver

我正在尝试创建一个创建随机数生成器的作业,如果它高于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

3 个答案:

答案 0 :(得分:2)

您从ww分配了print()返回的值,该值不会返回任何内容,因此ww变为None。使用ww = randint(0, 9)

By.css_selector应为By.CSS_SELECTOR,全部为首都。

答案 1 :(得分:1)

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"代替

答案 2 :(得分:0)

鉴于此文档https://seleniumhq.github.io/selenium/docs/api/javascript/module/selenium-webdriver/index_exports_By.html, class By不包含任何css_selector字段或属性,这就是为什么它提出 No Attribute Error ,也许你正在寻找的是By.css(your_selector)

希望它有所帮助。