I am using Selenium WebDriver and the Python bindings to automate some monotonous WordPress tasks, and it has been pretty straightforward up until this point. I am trying to select a checkbox, but the only way that I can identify it is by the text following it. Here is the relevant portion of HTML:
<li id="product_cat-52">
<label class="selectit">
<input value="52" type="checkbox" name="tax_input[product_cat][]" id="in-product_cat-52"> polishpottery
</label>
</li>
The only information that I have in my script to identify this checkbox is the string "polishpottery". Is there any way to select that checkbox knowing only the text that follows?
As @sherwin-wu already said, you should find a way to select what you want based on id or name or class (and most likely a combination of it). In your example there seem to be enough possibilities to do so, although I don't know what the rest of the page normally looks like.
Having that said, it's possible to do what you asked for using an XPath selector like
driver.find_element_by_xpath("//li/label/input[contains(..,'polishpottery')]")
If you love us? You can donate to us via Paypal or buy me a coffee so we can maintain and grow! Thank you!
Donate Us With