2017-08-30 49 views
2

我試圖創建一個作業,創建一個隨機數字生成器,如果它高於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中的小工具的工作。

我附加了一個圖像和我的代碼在textupload。

http://textuploader.com/d6hqs

https://ibb.co/b3v1U5

+1

* if(ww> 3)*:ww代表什麼? – Andersson

+0

ww應該是隨機數。如果它高於3,則隨機將該元素隨機懸停 – Tetora

+5

顯示如何定義'ww'。它似乎不是數字。你也指'EC.element_to_be_clickable((''css_selector','.origin-telemetry-shell-submenu-current-area')))。click()'? – Andersson

回答

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

您分配給wwprint()返回的值,它不返回任何東西ww變成None。使用ww = randint(0, 9)

By.css_selector應該是By.CSS_SELECTOR,全部爲大寫。

+0

謝謝。我仍然遇到EC.element_to_be_clickable((By.CSS_SELECTOR,'.origin-telemetry-shell-submenu-current-area')))click)(),因爲它似乎忽略了其他CSS – Tetora

+0

@HaydenDarcy你有什麼問題意思是*忽略其他CSS *? – Guy