1

問題: 保存された値を使用してページ要素を選択できません。

状況: find.element(By.ID, "element", value=storedvalue).click() を使用してページを開く必要があります ドキュメントによると、これを行うことができるはずです。もしかして私の読み方が悪いのでしょうか?TypeError が発生します。これは、関数を間違って使用していることを意味します。oO

http://selenium-python.readthedocs.org/en/latest/api.html

コードのステップ実行:

の値を保存しますtestingNum

選択が保存されている別のページに移動します

の値がmyvalue現在のページにあることを確認します

実際の値pick_idを持つページ要素を選択します(HTML を参照)myvalue

HTML:

<li id="pick_id" value="261">261</li>

テスト コード スニペット:

    myvalue = driver.find_element_by_id("testingNum").get_attribute("value")
    driver.find_element_by_id("verify_btn").click()
    self.assertTrue(self.is_text_present(myvalue))
    driver.find_element(By.ID, "pick_id", value=myvalue).click()

エラー:TypeError: find_element() got multiple values for keyword argument 'value'

4

2 に答える 2

1

要素の2 つの属性を照合しようとしてidいます。 valueli

@Corey が言うように、あなたは find_element() を間違って呼び出しています。2 つのキーワード引数を取ります。最初の引数は方法 (ID、名前、xpath、css など) を指定し、2 番目の引数は filter を指定しますvalue

複数の属性で照合する場合は、xpath を使用します。

driver.find_element(by=By.XPATH, value="//li[@id='pick_id' and @value='" + myvalue+ "']") 
于 2013-10-07T03:18:37.730 に答える
1

find_element間違って呼び出しているため、 TypeError が発生しています。

正しくない:

driver.find_element(By.ID, "pick_id", value=myvalue)

find_elementby、およびの 2 つのキーワード引数を取りますvalue

2 つの位置引数を渡し、次にキーワード引数を渡します。2 番目の位置引数は として解釈されvalueます。次にキーワード引数value=を渡すと、「値」に複数の値を定義したため、型エラーが発生します

于 2013-10-05T19:47:56.303 に答える