我正在尝试创建一个创建随机数生成器的作业,如果它高于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中附加了一张图片和我的代码。
答案 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)
。
希望它有所帮助。