2017-02-18 1952 views
-1

使用Selenium的蟒蛇时,我只是想知道为什么有2个括号中element_to_be_clickableBy方法之间,如:为什么EC.element_to_be_clickable((By.CSS_SELECTOR,“css_selector”)))中有2个括号?

WebDriverWait(browser, 50).until(
    EC.element_to_be_clickable((By.CSS_SELECTOR, "css_selector"))) 

这也是在文档visble - http://selenium-python.readthedocs.io/waits.html

任何答案?

干杯

+0

很明显,这是因为'element_to_be_clickable()'应该得到可迭代的对象作为参数。如果让你感到困惑,你可以使用'EC.element_to_be_clickable([By.CSS_SELECTOR,“css_selector”]):) :) – Andersson

+0

@Andersson对一个人来说“显而易见”对另一个人来说并不明显。这是该网站存在的原因之一。 – JeffC

+0

@JeffC,'tuple'是'python'的基础知识,我很确定网络上有足够的信息来说明它是什么,如何使用它以及为什么。 – Andersson

回答

1

按照API documentationelement_to_be_clickable预计一个参数的方法,包括:一个定位器。定位符是(by,path)的元组。

所以内部的一对括号是用于元组文字的,而外部的括号用于限制函数参数(在这种情况下只有一个)。

相关问题