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?
I would recommend trying to find more ways to select the checkbox. For example, you could select the li tag based on its id using browser.find_element_by_id(id). You could also select based on the name using browser.find_element_by_name(name).
Alternatively, if you really can't, you can select for the text using selenium + BeautifulSoup.
Hope this helps!
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
Regular expressions -- probably not the best solution, but it should work.
Output: