実現したいこと
Xpathで変数でクリックしたい。
発生している問題・分からないこと
アヒル イワシ トマトというhtmlだったとします。
print(driver.find_element(By.XPATH, f'//TD[contains(text(),"アヒル")]').tag_name)
結果:td
box="アヒル"
print(driver.find_element(By.XPATH, f'//TD[contains(text(),{box})]').tag_name)
結果:td
print(driver.find_element(By.XPATH, f'//TD/font[contains(text(),"トマト")]').tag_name)
結果:font
box="トマト"
print(driver.find_element(By.XPATH, f'//TD/font[contains(text(),{box})]').tag_name)
結果:エラー
なぜ、文字列を直接入力すれば成功するのに、変数を割り当てると失敗するのでしょう?
2番目のアヒルでは変数でも成功するのに、2番目のトマトではなぜ失敗するのでしょう?
どうぞよろしくお願いします。
エラーメッセージ
error
1selenium.common.exceptions.InvalidSelectorException: Message: Unable to locate an element with the xpath expression //TD/font[contains(text(),"トマト")]because of the following error: 2[object Error]; For documentation on this error, please visit: https://www.selenium.dev/documentation/webdriver/troubleshooting/errors#invalid-selector-exception
該当のソースコード
特になし
試したこと・調べたこと
上記の詳細・結果
print(driver.find_element(By.XPATH, f'//TD/*[contains(text(),{box})]').tag_name)
fontの部分を*に置き換えても、直接文字列では成功しますが、変数に置き換えると失敗します。
補足
特になし
0 コメント